[java] macOS Mojave (10.14)에서 Lion (10.7)의 JAVA_HOME은 어디에 있습니까?

Java는 최신 버전의 macOS에 대한 선택적 패키지입니다.

그러나 일단 설치되면 JAVA_HOME 환경 변수가 올바르게 설정되지 않은 것처럼 보입니다 .



답변

으로 자바 옵션 패키지 또는 오라클 JDK 당신의 다음 줄 중 하나를 추가 설치 ~ / .bash_profile에 따라 환경 변수를 설정합니다 파일을.

export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

업데이트 : Jilles van Gurp 응답을 기반으로 -v 플래그가 추가되었습니다 .


답변

/usr/libexec/java_home디렉토리가 아니라 실행 파일입니다. 현재 구성된 JAVA_HOME을 출력하고 실제로 변경하지는 않습니다. 그것이 Java Preferences 앱의 용도입니다. 제 경우에는 깨져서 실제로 JVM을 올바르게 변경하지 않습니다. 1.7 JVM을 나열하지만 실제로 출력을 변경하지 않고 원하는 모든 항목을 토글 / 언 글링 및 드래그 앤 드롭 할 수 있습니다 /usr/libexec/java_home.

Lion에서 Oracle의 1.7.0 u6을 설치하고 환경 설정에서 기본값으로 설정 한 후에도 여전히 사과 1.6 java 홈을 반환했습니다. 실제로 나를 위해 유일한 해결책은 JAVA_HOME을 수동으로 설정하는 것입니다.

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/

최소한 명령 행에서 실행할 때는 1.7을 사용합니다. /usr/libexec/java_home여전히 1.6을 고집합니다.

업데이트 : OSX의 명령 줄에서 Java 이해 가 어떻게 작동하는지 더 잘 설명합니다.

export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 

그렇게하는 방법입니다. 이것을 1.8로 업데이트하면 잘 작동합니다.


답변

나에게 Mountain Lion 10.8.2의 경우 가장 많이 투표 한 솔루션이 효과가 없습니다. Oracle을 통해 jdk 1.7을 설치하고 homebrew의 maven을 설치했습니다.

내 솔루션은 homebrew에서 설치 한 hadoop의 hadoop-env.sh 파일에서 가져온 것입니다. ~ / .bash_profile에 아래 문장을 추가하면 작동합니다.

export JAVA_HOME="$(/usr/libexec/java_home)"

이 솔루션은 또한 Oracle에서 Java 1.8이 설치된 OS X Yosemite에서도 작동합니다.


답변

위의 답변 중 어느 것도 도움이되지 않았습니다. 나는 모든 대답이 더 오래되었다고 가정합니다.OS X

OS X Yosemite 10.10의 경우 다음 단계를 수행하십시오.

좋아하는 텍스트 편집기를 사용하여 엽니 다. ~/.bash_profile

//This command will open the file using vim
$ vim ~/.bash_profile

파일에 다음 줄을 추가하고 저장하십시오 (: vim의 경우 “x”).

export JAVA_HOME=$(/usr/libexec/java_home)

그런 다음 터미널에 다음 두 명령을 입력하여 출력을보십시오.

$ source ~/.bash_profile

$ echo $JAVA_HOME

두 번째 줄에서는 .bash_profile파일 내용을 업데이트 합니다.


답변

Java 9 및 일부 별명에 대한 업데이트.

에서 .bash_profile:

export JAVA_HOME8=`/usr/libexec/java_home --version 1.8`
export JAVA_HOME9=`/usr/libexec/java_home --version 9`

최신 버전에서는 9그렇지 않습니다 1.9.

활성 Java를 설정하십시오.

export JAVA_HOME=$JAVA_HOME8
export PATH=$JAVA_HOME/bin:$PATH

다른 버전간에 전환하기위한 추가 별칭 :

alias j8='export JAVA_HOME=$JAVA_HOME8; export PATH=$JAVA_HOME/bin:$PATH'
alias j9='export JAVA_HOME=$JAVA_HOME9; export PATH=$JAVA_HOME/bin:$PATH'

터미널에서 테스트 :

% j8
% java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
% j9
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

편집 : Java 10 업데이트

export JAVA_HOME10=`/usr/libexec/java_home --version 10`
alias j10='export JAVA_HOME=$JAVA_HOME10; export PATH=$JAVA_HOME/bin:$PATH'

편집 : Java 11 업데이트

export JAVA_HOME11=`/usr/libexec/java_home --version 11`
alias j11='export JAVA_HOME=$JAVA_HOME11; export PATH=$JAVA_HOME/bin:$PATH'


답변

그것을 기대하기 때문에 위, 아마존의 EC2 도구로 나를 위해 작동하지 않았다 bin/java등 아래 JAVA_HOME. /System/Library/Frameworks/JavaVM.framework/Home일했다.


답변

OS X의 경우 다음을 수행 할 수 있습니다.

export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/Current/commands/java_home`