Error: JAVA_HOME is not defined correctly.
We cannot execute
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java
Zaktualizowałem system OSX do wersji 10.8.4. Po aktualizacji OSX zaktualizowałem JDK i JRE do 7. Ale otrzymuję powyższy błąd, kiedy próbuję zbudować maven projektu.
Kiedy biegnę ls -al /System/Library/Frameworks/JavaVM.framework/Versions/
Otrzymuję poniższą odpowiedź
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
Dla tego ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin
Nie widzę więcej treści w CurrentJDK.
W biegu /usr/libexec/java_home
Dostaję:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Jestem całkiem nowy w pracy z systemem OS X. Daj mi znać, jeśli mogłem przegapić jakiś punkt, aby odnieść sukces.
macos
mountain-lion
java
arvind406
źródło
źródło
echo $JAVA_HOME
,ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin
als -al /System/Library/Frameworks/JavaVM.framework/Versions/
i dodać wynik do pytania?export JAVA_HOME=/usr/libexec/java_home
.profile ->export PATH=${JAVA_HOME}/bin:$PATH
export CATALINA_HOME=/Library/Tomcat/Home
.bashrc i .profile zawiera wyżej wymienione polecenia ..Odpowiedzi:
Apple zaleca ustawienie JAVA_HOME na „/ usr / libexec / java_home”.
To, co zadziałało, to zawijanie tego wokół $ (). Skończyłem konfigurowanie JAVA_HOME jak $ (/ usr / libexec / java_home) za pomocą następujących poleceń:
źródło
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java
jeśli istnieje, to Java dostarczana przez Apple, której najnowszą wersją byłaby JRE 1.6.Aby skorzystać z Oracle JDK (java 7, o której wspomniałeś), użyj ścieżki / usr / bin / java, jeśli została w pełni zainstalowana. Należy pamiętać, że środowisko JRE jest przeznaczone tylko dla apletów Java i dlatego nie wpływa na / usr / bin / java
Aby uzyskać więcej informacji, zobacz dokumentację instalacji Oracle
i zanotuj stamtąd
źródło
/usr/libexec/java_home
otrzymuję/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Kliknij ten link: https://stackoverflow.com/a/44564303/5005676 Jeśli widzisz skrypt mvn: kod tutaj nie działa ---
Kroki debugowania i naprawy:
Krok 1: Otwórz skrypt mvn /Users/Username/apache-maven-3.0.5/bin/mvn (Otwórz za pomocą polecenia less, takiego jak: less /Users/Username/apache-maven-3.0.5/bin/mvn)
Krok 2: Znajdź poniższy kod w skrypcie:
Krok 3: Dzieje się tak, ponieważ zmienna JAVACMD nie została ustawiona. Więc wyświetla błąd.
Uwaga: aby to naprawić
Klucz: Jeśli chcesz, aby był to trwale otwarty plik emacs.profile
opublikuj polecenia i naciśnij Ctrl-x Ctrl-c (save-buffers-kill-terminal).
źródło