Was brauche ich für die Umgebungsvariablen JAVA_HOME
, M2
und M2_HOME
, wenn die Pfade, die dorthin gehen sollten, bereits an meine PATH-Variable angehängt sind?Zweck der JAVA_HOME-, M2- und M2_HOME-Variablen
Antwort
JAVA_HOME
sollte auf das Verzeichnis verweisen, in dem Java installiert ist, das Sie verwenden möchten. Diese Variable wird oft von verschiedenen Skripten verwendet, daher wird empfohlen, sie zu definieren. JAVA_HOME
selbst sollte nicht zu PATH
hinzugefügt werden. Sie sollten 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 von Skript mvn
(oder mvn.bat
unter Windows) verwendet.
Seltsam, warum mvn README nichts über das Setzen dieser Variable während der Installation sagt :( – ACV
@ACV, 'JAVA_HOME' ist eine Umgebungsvariable, erfunden und relevant für JRE. Maven ist ein Build-Tool in Java geschrieben. Normalerweise erwarten wir das nicht Jedes Softwareprodukt, das eine bestimmte Technologie oder Programmiersprache verwendet, erklärt das Wesentliche dieser Technologie in seiner README-Datei. Es ist so, als erwarte ich, dass das Handbuch Ihres Fernsehgeräts eine Einführung in das Ohmsche Gesetz enthält. – AlexR
Lustig, aber soweit ich mich erinnere, "Ohmsches Gesetz "war in älteren Versionen von Maven vorhanden:" 4) Stelle sicher, dass JAVA_HOME auf den Speicherort deines JDK gesetzt ist "http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/ apache-maven-3.3.9-bin.zip Also warum wurde es entfernt? – ACV
Die Home-Pfade (JAVA_HOME
, M2_HOME
) sind nicht obligatorisch, aber gut zu haben. Einer der Vorteile ist:
Es hilft Ihnen, Änderungen an einer Stelle vorzunehmen, anstatt Sie in der Variablen PATH
suchen, wenn Sie die nächste Version von Java oder Maven installieren. Zum Beispiel JAVA_HOME
Umgebungsvariable unten ist ein Ort, den ich ändern muss, wenn ich es auf Java Development Kit 1.8 aktualisiere.
Ich glaube, Sie nicht über ein Konzept der Umgebungsvariable verstehen. Lesen Sie hier ->http://en.wikipedia.org/wiki/Environment_variable
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 Variablen PATH
angegebenen Verzeichnisse zu durchsuchen.
Andere Programme haben unterschiedliche Abhängigkeiten von der Umgebung. Einige von ihnen spezifizieren, welche Umgebungsvariablen sie benötigen, um richtig zu laufen.
wird von vielen Java-basierten Anwendungen verwendet, um den Ort der Java Runtime Environment (JRE) Installation zu definieren.
M2_HOME
wird von Maven verwendet, und wiederum sagt es dem Programm, wo Maven-Installation zu finden ist.
PATH
ist nicht für diesen Zweck geeignet, da es viele Verzeichnisse enthalten kann, die nicht mit Java oder Maven verwandt sind.
Die PATH-Variable wird verwendet, um Anwendungen (ausführbare Dateien und Skripts) und DLLs unter Windows zu finden. 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 Speicherort gefunden wird, bedeutet dies jedoch nicht, dass die Anwendung in diesem Verzeichnis installiert ist. Das einfachste zu beschreibende Beispiel ist eines, das unter UNIX existiert. Möglicherweise haben Sie eine symbolische Verbindung von/usr/local/bin/mvn zu dem Ort, an dem maven tatsächlich installiert ist. Andere Beispiele/Gründe könnten gegeben werden.
Die Umgebungsvariablen werden von der Anwendung verwendet, um zu wissen, wo nach anderen Ressourcen gesucht werden muss, die die Anwendung möglicherweise benötigt.
Zum Beispiel zeigt JAVA_HOME auf das Verzeichnis, in dem Ihr JDK gefunden werden kann. 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 anderswo.
Dasselbe gilt für das Verzeichnis M2_HOME, das auf das oberste Verzeichnis verweist, in dem MAVEN "installiert" (oder entpackt) ist.
Das M2-Verzeichnis gibt der Maven-Anwendung (mvn) an, wo die Maven-Repositories zu finden sind, die benötigt werden. Der Standardwert (unter UNIX) ist $ HOME/.m2, aber Sie möchten Ihr Repository möglicherweise nicht dort haben, sodass Sie mit der Umgebungsvariable M2 einen anderen Speicherort angeben können. Maven verwendet diesen Speicherort anstelle des Standardverzeichnisses.
- 1. IntelliJ und M2 Repo
- 2. JAVA_HOME und java -version
- 3. Unterschied zwischen JAVA_HOME und JRE_HOME
- 4. .m2, settings.xml in Ubuntu
- 5. Maven - Alternative .m2 Verzeichnis
- 6. JAVA_HOME Umgebungsvariable und Java JDK Spaß
- 7. tomcat startup.sh Probleme bei der Suche JAVA_HOME
- 8. Ameise $ {} java.home Punkte auf $ JAVA_HOME/jre, nicht $ JAVA_HOME
- 9. Tomcat 6 JAVA_HOME
- 10. Maven Problem mit JAVA_HOME
- 11. Java Web Start JAVA_HOME
- 12. Zweck der PHP-Konstruktoren
- 13. JAVA_HOME Standard in Ubuntu
- 14. Zweck der verschachtelten Transaktionen
- 15. Zweck der boost :: checked_delete
- 16. Zweck der Objects.isNull (...)/Objects.nonNull (...)
- 17. Zweck der Header-Wächter
- 18. Zweck der Vorwärtsklasse Selbstdeklaration?
- 19. Zweck der Ereignisaufrufer?
- 20. Zweck der @ Min.List Anmerkung
- 21. Zweck der expliziten Standardkonstruktoren
- 22. Der Zweck der einzelnen Zuweisung
- 23. Zweck der Überschreibung
- 24. java_home in Maven
- 25. Verzeichnis JAVA_HOME in Linux
- 26. Zweck der IDictionary-Schnittstelle
- 27. Zweck der Serviceschicht
- 28. Der Zweck SynchronizationContext.CreateCopy
- 29. Zweck der CBCentralManagerScanOptionSolicitedServiceUUIDsKey
- 30. Fehler: JAVA_HOME ist nicht richtig definiert Ausführung Maven
ich verstehe nicht. Könntest du es bitte versuchen? – radai
Sie werden für andere Anwendungen verwendet, um Ihre Java (oder M2) Installation zu finden, um unter anderem Versionen auf Kompatibilität zu prüfen. –
Wie finden Sie * speziell * JAVA_HOME, M2 und M2_HOME innerhalb der PATH-Variablen? Richtig, andere Programme, die diese spezifischen Informationen benötigen, würden genau das gleiche Problem haben. – BalusC