单独启动tomcat,为什么是调用jdk里面的java.exe?而不是jre里的?
怪我咯
怪我咯 2017-04-17 17:52:08
0
5
515

1,单独启动tomcat,为什么是调用jdk里面的java.exe?而不是jre里的?,
2,单独启动myeclipse调用的却是myeclipse自身自带的的jdk中的javaw.exe,为什么不调用jre中的?
3,为什么tomcat调用java.exe而myeclipse却调用javaw.exe?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(5)
小葫芦

myeclipse 使用的也是jdk 不過是 javaw.exe 這個執行檔是用來把java編譯成class檔。
tomcat是呼叫java.exe來執行myeclipse 呼叫 javaw.exe 編譯出來的 class檔案。

黄舟

因為你設定的環境變數是jdk的路徑,你配置了環境變數他就不會去找jre了,如果你安裝了jre,並且配了環境變數它就回去找jre的java.exe# 🎜🎜#

黄舟
  1. 這個看你的配置,如果你只配置了JRE,那他就是用JRE裡的java.exe啟動的。

  2. java.exe 和javaw.exe功能是一樣的,只不過java命令列程序,是有標準輸入輸出流的,會將內容列印到控制 台。而javaw.exe是沒有列印訊息的。
    所以用java.exe也可以啟動myeclipse,不過會在桌面上顯示一個黑框命令行,而且關閉命令列就會關閉myeclipse。

  3. 這個是根據程式的需求來的,tomcat沒有介面所以他需要有個地方展示啟動的訊息,自然就用java.exe了。而eclipse有圖形化的介面自然不需要命令列顯示資訊。

刘奇

謝邀, 這一切都是因為環境變量,所謂環境變數就是程式去哪裡找預設指令。

看你的問題看出你是windows,cmd中執行echo %PATH%,

C:\Users\Administrator>echo %PATH%
C:\Python27\;C:\Python27\Scripts;C:\ProgramData\Oracle\Java\javapath;C:\Python27;C:\Program Files (x86)\Java\jdk1.7.0_17/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;E:\oracle\product.2.0\client_1\bin;E:\adt-bundle-windows-x86-20130917\sdk\platform-tools;C:\Users\Administrator\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft Emulator Manager.0\;C:\Program Files (x86)\nodejs\;D:\programs\TortoiseSVN\bin;D:\programs\apache-maven-3.3.9\bin;C:\Program Files\TortoiseGit\bin;C:\Program Files\Git\cmd;C:\Users\Administrator\AppData\Roaming\Python\Scripts;C:\Program Files (x86)\SSH Communications Security\SSH Secure Shell;C:\Users\Administrator\AppData\Roaming\npm;C:\Program Files (x86)\OpenVPN\bin

如果啟動tomcat的腳本中沒有指定java是哪裡的話,那麼從這個PATH中配置的路徑中尋找第一個java,例如上面我電腦的環境變數:C:ProgramDataOracleJavajavapath 這個目錄下有個java的快捷方式指向了jre8的,所以即使我的環境變數中有:C:Program Files (x86)Javajdk1.7.0_17/bin, 我預設的java還是jre8的java。

但是如果tomcat中指定了java程式的絕對路徑,那麼就不會在環境變數中尋找java了,就是你指定的java。

以上是回答用哪個java.exe的問題,為毛myeclipse用javaw.exe,因為你直接執行java.exe會出現個黑色的命令列窗口,這個叫console窗口,標準輸出的內容會輸出到這個窗口,如果是javaw.exe,不會出現console窗口,一般用於執行GUI程式。

哪裡寫的不準確,請各位大俠指正,不要踩我,我內心很脆弱,謝謝。 。 。

迷茫

1、是因為你在環境變數裡面設定了path路徑,指向的是JDK中的bin目錄。
2、呼叫java.exe會出現控制台,而MyEclipse有自己的介面不需要出現系統控制台,呼叫javaw.exe則不會出現控制台。
3、tomcat既可以呼叫java.exe也可以呼叫javaw.exe,點選Tomcat7.exe呼叫java.exe會出現控制台,點選Tomcat7w.exe呼叫javaw.exe有自己的介面,不會出現控制台。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!