Ich möchte wissen, was JAVA_HOME ist. Wo setze ich den Pfad von javac.exe und java.exe ein. Es ist in Umgebungsvariablen. Wenn ich ein Java-Programm von der Eingabeaufforderung aus kompiliere, wie findet die JVM ?Was ist JAVA_HOME? Wie findet die JVM den in JAVA_HOME gespeicherten javac-Pfad?
Antwort
JVM findet java.exe
nicht. Es nennt es nicht einmal. java.exe
wird vom Betriebssystem aufgerufen (Windows in diesem Fall).
JAVA_HOME
ist nur eine Konvention, in der Regel von Tomcat verwendet, andere Java EE App-Server und Build-Tools wie Gradle
zu finden, wo Java lebt.
Das Wichtigste aus Ihrer Sicht ist, dass das Java /bin
Verzeichnis auf Ihrem PATH
sein, so kann die Windows die .exe
Tools finden, die mit den JDK versenden: javac.exe
, java.exe
, jar.exe
usw.
@Rajper Ich glaube nicht, JAVA_HOME hilft, JDK zu finden. Es ist nur für JRE – Aman
Nein, es zeigt auf das Verzeichnis, in dem Sie JDK oder JRE installiert haben. Ich habe JAVA_HOME/bin in meinem Pfad, damit ich .exe-Dateien in JDK ausführen kann. Falsch. – duffymo
JAVA_HOME im Wesentlichen zum Stamm von JRE oder JDK, während Pfad ist eine separate Geschichte, die Sie ausführbare Dateien zur Verfügung stellt. – Max
Die Eingabeaufforderung würde JAVA_HOME nicht verwenden, um javac.exe zu finden, es würde PATH verwenden.
JAVA_HOME ist eine Umgebungsvariable (in Unix-Terminologien) oder eine PATH-Variable (in Windows-Terminologie). Viele Java-Anwendungen, die sich gut benehmen (die das JDK/JRE benötigen), werden nach der JAVA_HOME-Variable für den Ort gesucht, an dem der Java-Compiler/Interpreter gefunden werden kann.
Umgebungsvariable
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24
classpath=C:\Program Files\Java\jdk1.6.0_24\lib\tools.jar
path=C:\Program Files\Java\jdk1.6.0_24\bin
JAVA HOME bedeutet, die Umwelt für JAVA einrichten. Dies bedeutet, dass Sie einen Pfad zum Kompilieren eines JAVA-Programms bereitstellen und dasselbe ausführen. Also, wenn Sie die JAVA HOME (PATH) nicht festlegen und versuchen, das Programm in der Eingabeaufforderung auszuführen. Sie werden mit einem Fehler als umgehen. Javac: nicht als interner oder externer Befehl erkannt.
Jetzt, Nur öffnen Sie Ihre Java jdk, dann öffnen bin Ordner und kopieren Sie den Pfad dieses bin-Ordners.
Jetzt gehen Sie zu Mein Computer rechtsklicken Sie darauf ----> wählen Sie Eigenschaften -----> wählen Sie Erweiterte Systemeinstellungen -----> Klicken Sie auf Umgebungsvariablen ------> wählen Sie Neu -----> Geben Sie einen Namen in das Textfeld Variablenname ein und fügen Sie den Pfad in Wert ein.
dann Neustart ... Das ist alles !!!
Ihr Kommentar ist vollkommen in Ordnung, aber warum sollte die Maschine neu gestartet werden? Ich denke, dass es nicht notwendig ist, den PC neu zu starten. – Aditzu
Dies ist erforderlich, da es manchmal passiert, wenn die Änderungen nicht wirksam werden. Daher ist ein Neustart erforderlich, damit die Änderungen wirksam werden. –
Ich hatte nie dieses Problem, aber wenn Sie sagen, dass ich Ihnen vertraue :) – Aditzu
JAVA_HOME
und JRE_HOME
werden nicht von Java selbst verwendet. Einige Programme von Drittanbietern (zum Beispiel Apache Tomcat) erwarten, dass eine dieser Umgebungsvariablen auf das Installationsverzeichnis von JDK
oder JRE
gesetzt wird. Wenn Sie keine Software verwenden, die sie benötigt, müssen Sie JAVA_HOME
und JRE_HOME
nicht festlegen. PATH
ist eine vom Betriebssystem verwendete Umgebungsvariable (Windows, Mac OS X, Linux), in der nach ausführbaren nativen Programmen gesucht wird. Sie sollten das bin
-Unterverzeichnis Ihres JDK
-Installationsverzeichnisses der PATH
hinzufügen, damit Sie die Befehle javac
und java
und andere JDK
-Tools in einem Eingabeaufforderungsfenster verwenden können.Courtesy: coderanch
JAVA_HOME ist eine Umgebungsvariable auf den Speicherort des Java-Verzeichnis auf Ihrem Computer. PATH ist ein interner DOS-Befehl, der das Verzeichnis/bin der von Ihnen verwendeten Java-Version findet. Üblicherweise sind sie gleich, nur dass der PATH-Eintrag mit/bin
endet. Grundsätzlich wird verwendet, um den Pfad des Java zu setzen. Es ist in Windows verwendet. Es wird für den Pfad der Mehrfachsoftware wie java EE
, ANT
und Maven
verwendet. dies ist die Schritte, um Ihr Problem zu lösen:
nur für Core Java-Pfad zu setzen: Pfad: "C:\Program Files\Java\jre1.8.0_77\bin"
aber wenn man den Einsatz Multi wie als ANT
, Java Kern aufgebaut ist, dann sind Sie JAVE_HOME
in Umgebung verwendet.
folgen Sie den Schritten:
JAVA_HOME
: "C:\Program Files\Java\jre1.8.0_77\bin"
ANT_HOME
: "C:\ant\apache-ant-1.9.6"
Pfad: JAVA_HOME
, ANT_HOME
; es ist die systematische Art und Weise die Umgebungsvariable zu setzen ..
Verwendung dieser Befehl/usr/libexec/java_home die JAVA_HOME
Alte Frage. Eine bessere Antwort ist, auf die Oracle [Hilfeseite] (https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/) beim Setzen von JAVA_HOME zu zeigen. – MikeJRamsey56
Ein klarer, was JAVA_HOME Frage ist zu überprüfen: http://stackoverflow.com/questions/5102022/Was-macht-die-Java-Home-Umgebung-Variable-Do –