Error: JAVA_HOME is not defined correctly.
We cannot execute
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java
Ich habe mein OSX auf 10.8.4 aktualisiert. Nach dem OSX-Upgrade habe ich mein JDK und meine JRE auf 7 aktualisiert. Ich erhalte jedoch den obigen Fehler, wenn ich versuche, ein Maven-Projekt zu erstellen.
Wenn ich renne ls -al /System/Library/Frameworks/JavaVM.framework/Versions/
Ich bekomme die folgende Antwort
drwxr-xr-x 11 root wheel 374 Jul 22 22:33 .
drwxr-xr-x 10 root wheel 340 Jul 22 18:30 ..
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Jul 22 18:30 1.6.0 -> CurrentJDK
drwxr-xr-x 7 root wheel 238 Jul 22 18:30 A
lrwxr-xr-x 1 root wheel 1 Jul 22 18:30 Current -> A
lrwxr-xr-x 1 root wheel 59 Jul 22 18:30 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
Dafür ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin
Ich sehe keine Inhalte in CurrentJDK weiter.
Beim Laufen /usr/libexec/java_home
Ich bekomme:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Ich bin ziemlich neu in der Arbeit mit OS X. Lassen Sie mich wissen, ob ich noch einen Punkt verpasst habe, um es erfolgreich zu machen.
macos
mountain-lion
java
arvind406
quelle
quelle
echo $JAVA_HOME
,ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin
undls -al /System/Library/Frameworks/JavaVM.framework/Versions/
und das Ergebnis auf die Frage hinzufügen?export JAVA_HOME=/usr/libexec/java_home
.profile ->export PATH=${JAVA_HOME}/bin:$PATH
export CATALINA_HOME=/Library/Tomcat/Home
.bashrc und .profile enthält die oben genannten Befehle.Antworten:
Apple empfiehlt, JAVA_HOME auf "/ usr / libexec / java_home" zu setzen.
Was für mich funktioniert hat, war, dies um $ () zu wickeln. Also habe ich JAVA_HOME wie $ (/ usr / libexec / java_home) mit den folgenden Befehlen konfiguriert:
quelle
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java
Wenn es existiert, ist das von Apple gelieferte Java, dessen neueste Version eine JRE 1.6 wäre.Um das Oracle JDK (das von Ihnen erwähnte Java 7) zu verwenden, verwenden Sie den Pfad / usr / bin / java, wenn Sie es vollständig installiert haben. Beachten Sie, dass die JRE nur für Java-Applets gilt und daher / usr / bin / java nicht beeinflusst
Weitere Informationen finden Sie in der Oracle-Installationsdokumentation
und notiere von dort
quelle
/usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Folgen Sie diesem Link: /programming//a/44564303/5005676 Wenn Sie das MVN-Skript sehen: Der Code schlägt hier fehl ---
Schritte zum Debuggen und Beheben:
Schritt 1: Öffnen Sie das MVN-Skript /Users/Username/apache-maven-3.0.5/bin/mvn (Öffnen Sie mit dem Befehl less wie: less /Users/Username/apache-maven-3.0.5/bin/mvn)
Schritt 2: Finden Sie den folgenden Code im Skript heraus:
Schritt 3: Dies geschieht, weil die Variable JAVACMD nicht festgelegt wurde. Es wird also der Fehler angezeigt.
Hinweis: Um dies zu beheben
Schlüssel: Wenn Sie möchten, dass es permanent geöffnet ist, öffnen Sie emacs.profile
Veröffentlichen Sie die Befehle und drücken Sie Strg-x Strg-c (Save-Buffers-Kill-Terminal).
quelle