Setzen Sie JAVA_HOME nicht mit vollem Pfad

Als ich nach langer Zeit versuchte, mvn zu verwenden, war ich süchtig nach der Angabe von JAVA_HOME, also machte ich ein Memorandum.

mvn sauber!

Nach dem Update auf High Sierra wurden die Abhängigkeiten des Java-Projekts, das ich bei der Arbeit verwende, zurückgesetzt, sodass ich mvn vorerst für sauber hielt.

$ mvn clean
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

Whaaaaaaaat

Anscheinend ist die Umgebungsvariable JAVA_HOME schlecht. Wie hast du es eingestellt?

Es ist ein voller Pass

$ cat ~/.bash_profile

...

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

$ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

Da es mit dem vollständigen Pfad angegeben wird, ändert es sich schnell in eine bedeutungslose Umgebungsvariable, sobald die JDK-Version aktualisiert wird. Vielmehr war es bis jetzt oft sicher.

Es sollte eine intelligentere Einstellmethode geben

Anscheinend folgt Ihnen diese Notation automatisch, selbst wenn Sie das JDK aktualisieren. Speichern Sie es mit diesem Pfad ...

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

Ergebnis

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home

$ mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T16:58:13+09:00)
Maven home: /usr/local/Cellar/maven/3.5.2/libexec
Java version: 1.8.0_172, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.4", arch: "x86_64", family: "mac"

Die Einstellung ist erfolgreich abgeschlossen. Früher habe ich kopiert und eingefügt, aber ich bin süchtig danach, wenn ich nicht auf Umgebungsvariablen achte.

Recommended Posts

Setzen Sie JAVA_HOME nicht mit vollem Pfad
So setzen Sie JAVA_HOME mit dem Appassembler-Maven-Plugin von Maven
JAVA_HOME und Pfad
Richten Sie GitLab mit Docker ein
Überprüfen Sie die Pfadparameter mit @RequestMapping