2010-01-08 17 views
36

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?

+2

Ein klarer, was JAVA_HOME Frage ist zu überprüfen: http://stackoverflow.com/questions/5102022/Was-macht-die-Java-Home-Umgebung-Variable-Do –

Antwort

41

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.

+1

@Rajper Ich glaube nicht, JAVA_HOME hilft, JDK zu finden. Es ist nur für JRE – Aman

+2

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

+1

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

10

Die Eingabeaufforderung würde JAVA_HOME nicht verwenden, um javac.exe zu finden, es würde PATH verwenden.

1

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.

14

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 
-1

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 !!!

+0

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

+0

Dies ist erforderlich, da es manchmal passiert, wenn die Änderungen nicht wirksam werden. Daher ist ein Neustart erforderlich, damit die Änderungen wirksam werden. –

+1

Ich hatte nie dieses Problem, aber wenn Sie sagen, dass ich Ihnen vertraue :) – Aditzu

4

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

-1

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

-1

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 ..

0

Verwendung dieser Befehl/usr/libexec/java_home die JAVA_HOME

+1

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

Verwandte Themen