Java >> Java Tutorial >  >> Java

Unterschied zwischen java.home und JAVA_HOME

Beim Einrichten von Umgebungen müssen wir unter anderem Umgebungsvariablen einrichten. JAVA_HOME ist die häufigste Umgebungsvariable, die Sie einrichten müssen, insbesondere bei der Java-Entwicklung. Zuvor hatte ich diese Frage gestellt, um den Unterschied zwischen java.home zu kennen und JAVA_HOME auf StackOverflow hier.

Frage

Grundsätzlich habe ich System.getProperty("java.home") verwendet in meinem Code und es würde einen Differenzwert von dem zurückgeben, was ich für JAVA_HOME festgelegt hatte . Ich habe mich gefragt, warum der Unterschied. In diesem Beitrag geht es um die Erklärung des Unterschieds zwischen diesen beiden Eigenschaften.

Antwort

Es gibt einige widersprüchliche Antworten über den Unterschied. Aber was ich selbst gefunden habe, ist java.home ist eine Systemvariable, die basierend auf Java Runtime Environment (JRE) erstellt wurde. Dies ist eher eine Systemvariable. JAVA_HOME eine Umgebungsvariable ist, ist dies erforderlich, wenn Sie JDK installieren. Java Development Kit (JDK) ist eine umgebungsbasierte Software, die eine Einzelperson installiert, und diese Software benötigt Java Runtime Environment (JRE). JDK ist also eine Obermenge von JRE.

Auf jedem System, wenn Sie nach JAVA_HOME fragen Umgebungsvariable erhalten Sie im Allgemeinen den Pfad Ihrer JDK-Installation. Aber seit java.home eine Systemvariable ist, können Sie diese Variable nur über die Systemeigenschaften herausfinden. Außerdem haben einige Computer standardmäßig den von Oracle installierten JRE-Pfad und java.home könnte auf diesen Weg hinweisen. Sie können keine Java-basierte Entwicklung durchführen, wenn JAVA_HOME nicht definiert ist.

Aber die interessante Tatsache ist, dass bei der Installation von JDK auch JRE installiert wird. Aber wenn Sie java.home verifizieren , zeigt es nicht auf denselben Stammpfad, in dem JDK installiert wurde. Ein Hauptgrund dafür ist, dass trotz der Installation von JDK JRE und JDK zwei verschiedene Produkte sind und auf vielen Computern Standard-JRE installiert ist.

Schlussfolgerung

In diesem Beitrag habe ich den Unterschied zwischen JAVA_HOME und java.home gezeigt. Abonnieren Sie hier meinen Blog.

Referenzen

  1. Systemeigenschaften – Oracle-Dokumentation


Java-Tag