it-swarm.com.de

Zweck der Variablen Java_HOME, M2 und M2_HOME

Wofür benötige ich die Umgebungsvariablen Java_HOME, M2 und M2_HOME, wenn die Pfade, die dorthin gehen sollen, bereits an meine PATH-Variable angehängt sind?

23
Liza Tjaica

Java_HOME sollte sich auf das Verzeichnis beziehen, in dem Java installiert ist, das Sie verwenden möchten. Diese Variable wird häufig von verschiedenen Skripten verwendet. Es wird daher empfohlen, sie zu definieren. Java_HOME selbst sollte nicht zu PATH hinzugefügt werden. Sie sollten Java_HOME/bin hinzufügen, um Befehle aus diesem Verzeichnis ausführen zu können, ohne den konkreten Pfad anzugeben.

M2_HOME ist ein Zuhause von Maven. Es wird vom Skript mvn (oder mvn.bat unter Windows) verwendet.

8
AlexR

Die Home-Pfade (Java_HOME, M2_HOME) sind nicht obligatorisch, aber gut zu haben. Einer der Vorteile ist:

Es hilft Ihnen, Änderungen an einem Ort vorzunehmen, anstatt bei der Installation der nächsten Version von Java oder Maven in der Variablen PATH nach Ihnen zu suchen. Die Java_HOME-Umgebungsvariable unten ist zum Beispiel eine Stelle, die ich ändern muss, wenn ich ein Upgrade auf Java Development Kit 1.8 durchführe.

Windows environment variable window

7
prashantsunkari

Ich denke, Sie verstehen kein Konzept einer Umgebungsvariablen. Für den Anfang lesen Sie hier -> http://en.wikipedia.org/wiki/Umweltvariable

PATH ist eine Umgebungsvariable, die in vielen Betriebssystemen (oder Shells) bekannt ist. Wenn Sie einen Programmnamen ohne vollständigen Pfad eingeben, versucht das Betriebssystem (oder die Shell), alle in der Variable PATH angegebenen Verzeichnisse zu durchsuchen.

Andere Programme haben unterschiedliche Abhängigkeiten von der Umgebung. Einige geben an, welche Umgebungsvariablen sie benötigen, um ordnungsgemäß ausgeführt zu werden.

Java_HOME wird von vielen Java-basierten Anwendungen verwendet, um den Ort der JRE-Installation (Java Runtime Environment) zu definieren.

M2_HOME wird von Maven verwendet und teilt dem Programm erneut mit, wo die Maven-Installation zu finden ist.

PATH ist für diesen Zweck nicht geeignet, da sie viele Verzeichnisse enthalten kann, die sich nicht auf Java oder Maven beziehen.

Die PATH-Variable wird zum Suchen von Anwendungen (ausführbaren Dateien und Skripts) und DLLs unter Windows verwendet. Wenn Sie "mvn" eingeben, wird der Pfad verwendet, um eine ausführbare Datei oder ein Skript mit diesem Namen zu suchen. Nur weil das Skript an einem Ort gefunden wird, bedeutet dies jedoch nicht, dass die Anwendung in diesem Verzeichnis installiert ist. Das am einfachsten zu beschreibende Beispiel ist eines, das unter UNIX existiert. Möglicherweise haben Sie einen symbolischen Link von/usr/local/bin/mvn zu dem Ort, an dem Maven tatsächlich installiert ist. Andere Beispiele/Gründe können gegeben werden.

Die Umgebungsvariablen werden von der Anwendung verwendet, um zu wissen, wo sie nach anderen Ressourcen suchen müssen, die die Anwendung möglicherweise benötigt.

Java_HOME verweist beispielsweise auf das Verzeichnis, in dem sich Ihr JDK befindet. Wenn Java ausgeführt wird, weiß diese Anwendung, dass andere Ressourcen relativ zum Java_HOME-Verzeichnis gefunden werden können.

Dadurch kann die Anwendung beispielsweise C:\Windows\System32\Java in einem Verzeichnis vorhanden sein, die JDK-Installation jedoch an einem anderen Ort.

Gleiches gilt für das M2_HOME-Verzeichnis, das auf das oberste Verzeichnis verweist, in dem MAVEN "installiert" (oder entpackt) ist. 

Das M2-Verzeichnis gibt der Maven-Anwendung (mvn) an, wo die benötigten Maven-Repositorys zu finden sind. Der Standardwert (unter UNIX) ist $ HOME/.m2. Möglicherweise möchten Sie Ihr Repository jedoch nicht dort, sodass Sie einen anderen Speicherort mithilfe der Umgebungsvariable M2 angeben können. Maven verwendet diesen Speicherort anstelle des Standardwerts.

0
PatS