Umgebungsvariablen für die Java-Installation

204

Wie setze ich die Umgebungsvariablen für Java in Windows (den Klassenpfad)?

Dean Jones
quelle
2
Welche Umgebungsvariablen? Der Klassenpfad und JAVA_HOME? Welche Plattform (Linux / Windows)? Bitte erläutern Sie
Wernsey
22
Ich bin allein und denke, es ist zu lahm, dass das Java-Installationsprogramm die Pfadumgebungsvariable nicht automatisch aktualisiert.
Thomas Eyde
2
@ThomasEyde - das einzige Problem mit dieser Idee ist, was passiert, wenn ich mehrere JVMs auf meinem Computer haben möchte - das automatische Festlegen des Pfads würde dann Probleme verursachen.
Richard Le Mesurier
3
@ Richard Le Mesurier: Nur ein Kontrollkästchen "Als neue Standard-JVM setzen" im Installationsprogramm ...
Algoman
Kommentar als Referenz
Asker123

Antworten:

393

Java SE Development Kit 8u112 unter 64-Bit Windows 7 oder Windows 8

Legen Sie die folgenden Benutzerumgebungsvariablen fest (== Umgebungsvariablen vom Typ Benutzervariablen )

  • JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112
  • JDK_HOME : %JAVA_HOME%
  • JRE_HOME : %JAVA_HOME%\jre
  • CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
  • PATH : your-unique-entries;%JAVA_HOME%\bin(Stellen Sie sicher, dass der Longish your-unique-entrieskeine anderen Verweise auf einen anderen Java-Installationsordner enthält.

Hinweis für Windows-Benutzer auf 64-Bit-Systemen:

Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'

Beachten Sie, dass diese Umgebungsvariablen von der Umgebungsvariablen "root" abgeleitet sind JAVA_HOME. Dies erleichtert das Aktualisieren Ihrer Umgebungsvariablen beim Aktualisieren des JDK. Zeigen Sie einfach JAVA_HOMEauf die Neuinstallation.

Es gibt einen Blogpost, in dem die Gründe für all diese Umgebungsvariablen erläutert werden .

Optionale Empfehlungen

  • Fügen Sie eine Benutzerumgebungsvariable JAVA_TOOL_OPTIONS mit Wert hinzu -Dfile.encoding="UTF-8". Dadurch wird sichergestellt, dass Java (und Tools wie Maven ) mit einem Charset.defaultCharset()von UTF-8(anstelle des Standardwerts Windows-1252) ausgeführt werden. Dies hat viele Kopfschmerzen beim Verkabeln mit meinem eigenen Code und dem anderer gespart, die leider oft die (vernünftige) Standardcodierung UTF-8 annehmen .
  • Wenn JDK installiert ist, wird der Systemumgebungsvariablen Path ein Eintrag hinzugefügt C:\ProgramData\Oracle\Java\javapath;. Ich habe anekdotisch festgestellt, dass die Links in diesem Verzeichnis während eines JDK-Installationsupdates nicht aktualisiert wurden. Es ist daher am besten, C:\ProgramData\Oracle\Java\javapath;die PathVariable aus der Systemumgebung zu entfernen , um eine konsistente Umgebung zu erhalten.
Abdull
quelle
12
Es ist die bessere Antwort
Kimchi Man
1
Gute Antwort. Ich mache auch eine Verzeichnisverbindung zu meiner Java-Installation, die ich aktualisieren kann, wenn ich eine neue Version ( mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91") installiere . Auf diese Weise habe ich immer noch eine schnelle Möglichkeit, Versionen auszutauschen, wenn ich Cygwin oder etwas verwende, das Windows-Env-Variablen nicht lesen kann. Und es ist viel einfacher, sich an den kürzeren Pfad ohne die Nebenversion zu erinnern.
kghastie
Ich habe versucht, eine JAVA_ROOT_PATH-Variable festzulegen, aber JAVA_HOME schien es mir nicht zu gefallen, eine Umgebungsvariable für ihren Wert zu verwenden. Gibt es einen Grund dafür?
Eric
3
Das javapathVerzeichnis und die symbolischen Links werden von der JRE-Installation erstellt (ein optionaler Vorgang bei der Installation des JDK). Wenn Sie die JRE nicht installiert hätten, hätten Sie kein Javapath erstellt. Beachten Sie, dass %JAVA_HOME%\jrein Ihrer Antwort die private JRE des JDK für die Verwendung des Java-Compilers vorgesehen ist. Es ist nicht genau das gleiche wie die öffentliche JRE. Beachten Sie außerdem, dass die JRE-Installation ab 1.8u112 anscheinend keine symbolischen Links mehr in erstellt javapathund stattdessen feste Links zu .exes in erstellt ..\javapath_target_nnnnnnn\*.exe.
Klitos Kyriacou
3
Die Einstellung funktioniert gut für mich. Da es in jdk 11 keinen jre-Ordner gibt, entferne ich die Variable JRE_HOME sowie den Wert% JAVA_HOME% \ jre \ lib in der Variablen CLASSPATH. Für weitere Informationen über JDK 11 ohne JRE: stackoverflow.com/questions/52584888/…
Huanfa Chen
66

In Windows inorder zu setzen

Schritt 1: Klicken Sie mit der rechten Maustaste auf MyComputer und klicken Sie auf Eigenschaften.

Schritt 2: Klicken Sie auf die Registerkarte Erweitert

Alt-Text

Schritt 3: Klicken Sie auf Umgebungsvariablen

Alt-Text

Schritt 4: Erstellen Sie einen neuen Klassenpfad für JAVA_HOME

Alt-Text

Schritt 5: Geben Sie den Variablennamen als JAVA_HOME und den Wert für Ihren jdk bin-Pfad ein, dh c: \ Programfiles \ Java \ jdk-1.6 \ bin und

HINWEIS Stellen Sie sicher .;, dass Sie mit dem Wert beginnen, damit die anderen bereits festgelegten Umgebungsvariablen nicht beschädigt werden.

Alt-Text

Schritt 6 : Befolgen Sie den obigen Schritt und bearbeiten Sie den Pfad in Systemvariablen. Fügen Sie Folgendes ;c:\Programfiles\Java\jdk-1.6\binin die Wertespalte ein.

Schritt 7 : Sie sind mit dem Einrichten Ihrer Umgebungsvariablen für Ihr Java fertig. Um es zu testen, gehen Sie zur Eingabeaufforderung und geben Sie ein

 java   

Wer bekommt eine Liste der Hilfe doc

Um sicherzustellen, dass der Compiler eingerichtet ist, geben Sie cmd ein

  javac

Wer bekommt eine Liste mit Bezug zu Javac

Hoffe das hilft !

Srinivas MV
quelle
1
Schöne Erklärung. Eine kleine Sache in Schritt 6: Geben Sie nicht $javaoder ein $javac, sondern nur javaoder javac.
Jesper
1
Beachten Sie außerdem, dass Sie das JDK-Bin-Verzeichnis zur PATHUmgebungsvariablen hinzufügen müssen . Nur das Einstellen JAVA_HOMEreicht nicht aus.
Jesper
1
Ja, tut mir leid, da ich ein Linux-Liebhaber bin. Ich habe es verpasst, es wird sich ändern. Danke
Srinivas MV
3
1. Verwenden Sie Backslashes in WINDOWS. 2. Beginnen Sie keinen Pfad mit ".;" 3. Fügen Sie dem Pfad% JAVA_HOME% \ bin hinzu, so dass Sie später das java_home ändern können, ohne den Pfad ändern zu müssen
raudi
1
@ Wannacoffee Aktualisiert die Änderungen für Backslashes
Srinivas MV
27

--- Java-Pfad festlegen ---

Es gibt zwei Möglichkeiten, den Java-Pfad festzulegen

Eine temporäre

  1. Öffnen Sie cmd
  2. Schreiben Sie in cmd: javac

Wenn Java nicht installiert ist, wird folgende Meldung angezeigt:

javac wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt .

  1. Schreiben Sie in cmd: set path=C:\Program Files\Java\jdk1.8.0_121\bin
  2. Schreiben Sie in cmd: javac

Sie können überprüfen, ob der Pfad festgelegt ist, wenn kein Fehler aufgetreten ist.

Es ist wichtig zu beachten, dass diese Änderungen nur vorübergehend für Programme sind, die von diesem Cmd gestartet wurden.

HINWEIS: Möglicherweise müssen Sie die Befehlszeile als Administrator ausführen

B. Permanent

  1. Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz" und klicken Sie auf Eigenschaften
  2. Klicken Sie auf "Erweiterte Systemeinstellungen".
  3. Klicken Sie auf "Umgebungsvariablen"
  4. Klicken Sie auf die neue Registerkarte der Benutzervariablen
  5. Schreiben Sie pathinvariable name
  6. Kopieren Sie den Pfad des Bin- Ordners
  7. Fügen Sie den Pfad des Ordners bin in den Ordner einvariable value
  8. Klicken Sie auf OK

Der Pfad ist jetzt dauerhaft festgelegt.

TIPP: Das Tool "Rapid Environment Editor" (Freeware) eignet sich hervorragend zum Ändern der Umgebungsvariablen und ist in diesem Fall nützlich

TIP2: Es gibt auch eine schnellere Möglichkeit, auf die Umgebungsvariablen zuzugreifen: Drücken Sie die Tasten Win+ R, fügen Sie Folgendes ein %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariablesund drücken SieENTER

Kimmi Dhingra
quelle
17

Klicken Sie in Windows 7 mit der rechten Maustaste auf Computer -> Eigenschaften -> Erweiterte Systemeinstellungen . dann in der Erweiterte Registerkarte, klicken Sie auf Umgebungsvariablen ... -> Systemvariablen -> Neu ... .

Geben Sie der neuen Systemvariablen den Namen JAVA_HOMEund den Wert C:\Program Files\Java\jdk1.7.0_79(abhängig von Ihrem JDK-Installationspfad variiert er).

Dann wählen Sie die PathSystemvariable und klicken Sie auf Bearbeiten ... . Behalten Sie den Variablennamen bei Pathund fügen Sie C:\Program Files\Java\jdk1.7.0_79\bin;oder %JAVA_HOME%\bin;(beide bedeuten dasselbe) an den Variablenwert an.

Wenn Sie mit den obigen Änderungen fertig sind, führen Sie die folgenden Schritte aus. Wenn Sie keine ähnlichen Ergebnisse sehen, starten Sie den Computer neu und versuchen Sie es erneut. Wenn es immer noch nicht funktioniert, müssen Sie möglicherweise JDK neu installieren.

Öffnen Sie eine Windows-Eingabeaufforderung (Windows-Taste + R-> Eingabe cmd-> OK ) und überprüfen Sie Folgendes:

java -version

Sie werden so etwas sehen:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Überprüfen Sie dann Folgendes:

javac -version

Sie werden so etwas sehen:

javac 1.7.0_79
Arun
quelle
14

In den JDK-Installationsanweisungen wird genau erläutert, wie Sie die Einstellungen PATHfür verschiedene Windows-Versionen festlegen .

Normalerweise sollten Sie die CLASSPATHUmgebungsvariable nicht festlegen . Wenn Sie es nicht festlegen, sucht Java im aktuellen Verzeichnis nach Klassen. Sie können die Verwendung -cpoder -classpathmit der Befehlszeile javaoder javac.

Jesper
quelle
4
+1 für "Normalerweise sollten Sie die Umgebungsvariable CLASSPATH nicht festlegen."
BalusC
5

Ich werde hier durch Bilder für Windows 7 erklären.

Bitte folgen Sie den folgenden Schritten:

Schritt 1: Gehen Sie zu "Start" und rufen Sie die Eigenschaften "Arbeitsplatz" auf

Geben Sie hier die Bildbeschreibung ein

Schritt 2: Gehen Sie zu "Erweiterte Systemeinstellungen" und klicken Sie darauf.

Geben Sie hier die Bildbeschreibung ein

Schritt 3: Gehen Sie zu "Start" und rufen Sie die Eigenschaften "Arbeitsplatz" auf

Geben Sie hier die Bildbeschreibung ein

Schritt 4: Der Dialog für die Umgebungsvariable wird folgendermaßen geöffnet:

Geben Sie hier die Bildbeschreibung ein

Schritt 5: Gehen Sie zum Pfad und klicken Sie auf Bearbeiten.

Geben Sie hier die Bildbeschreibung ein

Schritt 6: Legen Sie den Pfad Ihres JDK überall dort ab, wo er sich befindet, wie Sie auf dem Bild sehen können. Fügen Sie auch den Pfad von Ihrem SDK von Android zu den Plattform-Tools hinzu:

Geben Sie hier die Bildbeschreibung ein

hitesh141
quelle
3

Im Programmierkontext können Sie den Befehl SET (SET classpath = c: \ java) ausführen oder mit der rechten Maustaste auf Ihren Computer klicken> Eigenschaften> Erweitert> Umgebungsvariablen.

In einer Batch-Datei können Sie verwenden

SET classpath=c:\java
java c:\myapplication.class
Cem Kalyoncu
quelle
Kann die zweite Zeile nicht verstehen. Was heißt das?
St.Shadow
3

Für Windows 7-Benutzer:

Klicken Sie mit der rechten Maustaste auf Arbeitsplatz und wählen Sie Eigenschaften. Fortgeschrittene; Systemeinstellungen; Fortgeschrittene; Umgebungsvariablen. Suchen Sie dann PATH im zweiten Feld und stellen Sie die Variable wie im Bild unten ein.

PATH Variableneditor

Zar E Ahmer
quelle
2

Legen Sie die Java-Umgebungsvariable in Centos / Linux fest

/ home / vi .bashrc

exportiere JAVA_HOME = / opt / oracle / product / java / jdk1.8.0_45

export PATH = $ JAVA_HOME / bin: $ PATH

Java-Version

Guna Sekaran
quelle
2

Beachten Sie, dass die %CLASSPATH%Umgebungsvariable wird ignoriert , wenn Sie java / javac in Kombination mit einem der Verwendung -cp, -classpathoder -jarArgumente. Es wird auch in einer IDE wie Netbeans / Eclipse / IntelliJ / etc. Ignoriert . Es wird nur verwendet, wenn Sie Java / Javac ohne eines der oben genannten Argumente verwenden.

Bei JAR-Dateien ist der Klassenpfad als class-pathEintrag in der Datei manifest.mf zu definieren . Es kann semikolongetrennt und relativ zum Stammverzeichnis der JAR-Datei definiert werden.

Im Falle einer IDE haben Sie den sogenannten "Erstellungspfad", der im Grunde der Klassenpfad ist, der sowohl zur Kompilierungszeit als auch zur Laufzeit verwendet wird. Um externe Bibliotheken hinzuzufügen, legen Sie die JAR-Datei normalerweise in einem (entweder von IDE vorgefertigten oder benutzerdefinierten) libOrdner des Projekts ab, der dem Erstellungspfad des Projekts hinzugefügt wird.

BalusC
quelle
@Balus er ist ein Anfänger, der versucht, seine Java-Umgebung auf einem Windows-PC einzustellen.
Srinivas MV
1
Genau. Derjenige, der sehr verwirrt wäre, wenn er feststellt, dass der von ihm konfigurierte Klassenpfad weder für JAR-Dateien noch für IDEs funktioniert. Nur eine Warnung an seiner Stelle :)
BalusC
1

Für eine bessere Bereitstellung sollten Sie den Klassenpfad genau einrichten und die Umgebung klar halten. Oder bei * .bat (dasselbe für Linux, aber mit korrekten Variablensymbolen):

CLASSPATH="c:\lib;d:\temp\test.jar;<long classpath>"
CLASSPATH=%CLASSPATH%;"<another_logical_droup_of_classpath" 
java -cp %CLASSPATH% com.test.MainCLass

Oder über die Befehlszeile oder * .bat (auch für * .sh), wenn die Klassenpfad-ID nicht sehr lang ist:

java -cp "c:\lib;d:\temp\test.jar;<short classpath>"
St.Shadow
quelle
1

Für Windows:

  • Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz" und öffnen Sie "Eigenschaften".
  • Gehen Sie in Windows Vista oder Windows 7 zu "Erweiterte Systemeinstellungen". Sonst gehe zum nächsten Schritt.
  • Gehen Sie zur Registerkarte "Erweitert" und klicken Sie auf die Environment VariablesSchaltfläche.
  • Wählen Sie 'Pfad' in der Liste der 'Systemvariablen' aus und drücken Sie Editund fügen Sie C:\Program Files\java\jdk\binnach einem Semikolon hinzu.
  • Klicken Sie nun unter Systemvariablen auf die Schaltfläche 'Neu' und geben Sie 'JAVA_HOME' als Variablennamen und Pfad zum jdk-Ausgangsverzeichnis ein (z. B. 'C: \ Programme \ Java \ jdk1.6.0_24', wenn Sie Java Version 6 installieren. Verzeichnis Der Name kann sich mit verschiedenen Java-Versionen als variabler Wert ändern.
Pratap Singh
quelle
1
  1. Laden Sie das JDK herunter
  2. Es installieren
  3. Richten Sie dann Umgebungsvariablen wie folgt ein:
  4. Klicken Sie auf BEARBEITEN

Geben Sie hier die Bildbeschreibung ein

  1. Klicken Sie dann auf PFAD , klicken Sie auf Hinzufügen und dann wie folgt: Geben Sie hier die Bildbeschreibung ein
Abhishek Sengupta
quelle