Programming

OSX에서 JAVA_HOME을 무엇으로 설정해야합니까?

procodes 2020. 2. 18. 22:56
반응형

OSX에서 JAVA_HOME을 무엇으로 설정해야합니까?


쉘 스크립트를 사용하여 JAVA_HOME환경 을 구성하는 많은 Java 응용 프로그램은 환경 변수를 사용 하여 올바른 버전의 Java를 시작하고 JRE JAR을 찾습니다.

OSX 10.6에서 다음 경로가이 변수에 유효한 것으로 보입니다.

/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current

이 중 일부는 실제 기본 VM에 대한 심볼릭 링크입니다 (Java Preference 창에 정의 된대로).

그러나 어느 것을 사용해야합니까? 아니면 어느 것을 사용해야합니까?


Snow Leopard는 아직 가지고 /usr/libexec/java_home있습니까? 10.5에서는 JAVA_HOME해당 명령의 출력으로 설정했습니다. 그러면 Java 환경 설정에 지정된 Java 경로가 제공됩니다. 다음 .bashrc은이 변수를 설정하는 파일 의 스 니펫입니다 .

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

그 기술에는 아무런 문제가 없었습니다.

때로는 값을 JAVA_HOME이전 버전의 Java 로 변경해야합니다 . 예를 들어 유지 관리하는 하나의 프로그램에는 OS X에서 32 비트 Java 5가 필요하므로 해당 프로그램을 사용할 때 다음 JAVA_HOME을 실행하여 설정 합니다.

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

java_home당신의 길에 없는 사람들 을 위해 다음과 같이 추가하십시오.

sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home /usr/libexec/java_home

또한 JDK를 반영하도록 PATH를 설정하는 것이 흥미 롭습니다. JAVA_HOME을 추가 한 후 ( 'mipadi'에서 인용 한 예제로 수행 가능) :

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

~ / .profile에도 추가하십시오.

export PATH=${JAVA_HOME}/bin:$PATH

추신 : OSX의 경우 일반적으로 .bashrc 대신 HOME 디렉토리에 .profile을 사용합니다.


나는 데 MAC OS X (시에라) 10.12.2를 .

다음 단계에 따라 JAVA_HOMEReact Native (Android 앱용) 에서 작동하도록 설정했습니다 .

  • 터미널을 엽니 다 (Command + R, 터미널 유형, Enter 키 누르기).

  • ~ / .bash_profile에 다음 행을 추가하십시오 . export JAVA_HOME=$(/usr/libexec/java_home)

  • 이제 다음 명령을 실행하십시오. source ~/.bash_profile

  • 다음 명령을 입력하여 JAVA_HOME 의 정확한 값을 확인할 수 있습니다 . echo $JAVA_HOME

반환되는 값 (출력)은 다음과 같습니다. /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

그게 다야.


Mac OS 10.6.8에 있습니다.

나를 위해 가장 쉬운 해결책은 간단하게 넣는 것입니다.

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

작동하는지 테스트하려면

$ echo $JAVA_HOME

이것은 보여준다

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

당신은 또한 테스트 할 수 있습니다

$ which java

요즘 Java가 설치된 것으로 보입니다. /Library/Java/JavaVirtualMachines


나는 사용하는 경향이있다 /Library/Java/Home. 환경 설정 창이 작동하는 방식은 원하는 버전으로 최신 상태 여야합니다.


위의 그래픽 응용 프로그램에서 요세미티에서 더 이상 작동하지 않습니다! 일식처럼, 또는 Spotlight로 시작한 모든 것. (.bash_profile, launchd.conf는 터미널 세션에서만 작동합니다.) 일식을 시작하기 전에 터미널 창을 열고 다음 명령을 내립니다.

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

(설치 경로와 함께! 전체 경로 대신 $ (/ usr / libexec / java_home)에서도 작동합니다.)

영구 솔루션에 대한 전체 기사를 여기에서보십시오 : launchd.conf를 통해 환경 변수를 설정하면 OS X Yosemite / El Capitan / macOS Sierra에서 더 이상 작동하지 않습니다.


스택 이 도움 되는 것을 발견했습니다 . 동일한 문제가 발생하여 해결할 수 있습니다.

내 자바 경로는 다음과 같습니다.

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

내 안에 넣어야했습니다 .bash_profile.

export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"

도움을 바랍니다


애플리케이션, 영구 시스템 환경 변수 설정을 언급 한 이후 터미널 설정 건너 뛰기 (macOS Sierra에서 작동; El Capitan에서도 작동) :

launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)

(이것은 JAVA_HOME을 최신 1.8 JDK로 설정합니다. javac 1.8.0_101, javac 1.8.0_131과 같은 서버 업데이트를 겪었을 가능성이 있습니다)
물론 필요와 시스템에 맞게 1.8을 1.7 또는 1.6으로 변경하십시오 (실제로?).


다른 답변에서 알 수 있듯이 Java 홈 디렉토리를 찾는 올바른 방법은을 사용하는 것 /usr/libexec/java_home입니다.

이 공식 문서는 애플에 기술 Q & A QA1170 : OS X에 중요 자바 디렉토리 : https://developer.apple.com/library/mac/qa/qa1170/_index.html


나를 위해 maven은 .mavenrc파일 을 해결하는 것 같습니다 .

echo "export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" > ~/.mavenrc

나는 그것을 너무 집어 들었다고 확신한다. 단지 어디에 있는지 기억할 수 없다.


파일 작성 ~/.mavenrc

그런 다음 파일에 붙여 넣습니다.

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

테스트

mvn -v


Fish Shell 사용자의 경우 다음과 같은 것을 사용하십시오. alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"

참고 URL : https://stackoverflow.com/questions/1348842/what-should-i-set-java-home-to-on-osx

반응형