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

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

怪我咯
怪我咯

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

répondre à tous(5)
小葫芦

myeclipse utilise également jdk mais javaw.exe Ce fichier exécutable est utilisé pour compiler Java en fichiers de classe.
Tomcat est un fichier de classe compilé en appelant java.exe pour exécuter myeclipse et en appelant javaw.exe.

黄舟

Parce que la variable d'environnement que vous configurez est le chemin de jdk, si vous configurez la variable d'environnement, elle n'ira pas à jre. Si vous installez jre et configurez la variable d'environnement, elle reviendra pour trouver le java.exe de jre<.>

黄舟
  1. Cela dépend de votre configuration. Si vous configurez uniquement JRE, alors il sera démarré avec java.exe dans JRE.

  2. Les fonctions de java.exe et javaw.exe sont les mêmes, sauf que le programme de ligne de commande Java a un flux d'entrée et de sortie standard et imprimera le contenu sur la console. Et javaw.exe n'imprime pas d'informations.
    Ainsi, myeclipse peut également être démarré à l'aide de java.exe, mais une ligne de commande en forme de boîte noire s'affichera sur le bureau et la fermeture de la ligne de commande fermera myeclipse.

  3. Ceci est basé sur les besoins du programme. Tomcat n'a pas d'interface, il a donc besoin d'un endroit pour afficher les informations de démarrage, donc java.exe est naturellement utilisé. Eclipse possède une interface graphique et ne nécessite naturellement pas de ligne de commande pour afficher les informations.

刘奇

Merci, tout cela est dû aux variables d'environnement. Les soi-disant variables d'environnement sont l'endroit où le programme recherche la commande par défaut.

En regardant votre question, je vois que vous utilisez Windows. Exécutez echo %PATH% dans cmd,

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

Si le script pour démarrer Tomcat ne précise pas où se trouve Java, alors recherchez le premier Java à partir du chemin configuré dans le PATH, comme la variable d'environnement de mon ordinateur ci-dessus : C:ProgramDataOracleJavajavapath Il y a un raccourci pour Java dans ce directory La méthode pointe vers jre8, donc même si mes variables d'environnement incluent : C:Program Files (x86)Javajdk1.7.0_17/bin, mon java par défaut est toujours le java de jre8.

Mais si le chemin absolu du programme java est spécifié dans tomcat, alors java ne sera pas trouvé dans la variable d'environnement, ce sera le java que vous avez spécifié.

Ce qui précède vise à répondre à la question de savoir quel java.exe utiliser. Pour myeclipse, javaw.exe est utilisé, car si vous exécutez directement java.exe, une fenêtre de ligne de commande noire apparaîtra. C'est ce qu'on appelle la fenêtre de la console. , et le contenu de la sortie standard sera affiché dans Si cette fenêtre est javaw.exe, la fenêtre de la console n'apparaîtra pas et est généralement utilisée pour exécuter des programmes GUI.

Si quelque chose est inexact, corrigez-moi. S'il vous plaît, ne me marchez pas dessus, je suis très fragile au cœur. . .

迷茫

1. C'est parce que vous avez défini le chemin dans la variable d'environnement, qui pointe vers le répertoire bin dans le JDK.
2. Lors de l'appel de java.exe, une console apparaîtra. Cependant, MyEclipse a sa propre interface et ne nécessite pas l'apparition d'une console système. Lors de l'appel de javaw.exe, aucune console n'apparaîtra.
3. Tomcat peut appeler à la fois java.exe et javaw.exe. Cliquez sur Tomcat7.exe pour appeler java.exe et une console apparaîtra pour appeler javaw.exe et elle aura sa propre interface et non. la console apparaîtra.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal