(이것이 SU에서 계속되어야하는지 확신 할 수 없었습니다. 마이그레이션은 확실히 옵션이지만 더 많은 프로그래머가 여기에서 질문을 읽고 여기에 있습니다).
Mac OS X 10.8.4를 실행 중이며 Apple의 JDK 1.6.0_51과 Oracle의 JDK 1.7.0_25가 설치되어 있습니다. 최근에 필요한 일부 시험판 소프트웨어에 대해 Oracle의 1.8 프리뷰 JDK를 설치했습니다. 이제 / usr / libexec / java_home을 실행하면 다음과 같이 표시됩니다.
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
1.6.0_51-b11-457, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_51-b11-457, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
큰.
그러나 다음을 실행합니다.
$ java -version
보고:
java version "1.8.0-ea"
즉, Java의 기본 버전은 현재 시험판 버전이므로 일부 "일반"패키지 (제 경우에는 VisualVM)가 중단됩니다.
JAVA_HOME
응용 프로그램을 시작하면 명령 줄 (예 :)에서 시작할 때도 환경 변수가 무시되기 때문에 설정할 수 없습니다 $ open /Applications/VisualVM.app
.
그렇다면 내 JVM 주문 기본 설정을 전역 적으로 설정할 수있는 편집 할 수있는 파일이 있습니까?
(단순히 작동하지 않기 때문에 Java 환경 설정 패널을 시작하라고 말하지 마십시오. 유용한 정보가 포함되어 있지 않으며 내가 설치 한 4 개의 JVM 중 하나만 나열됩니다.)
업데이트 :
Oracle JVM은 /Library/Java/JavaVirtualMachines
. JDK 1.8 디렉토리의 이름을 바꾸어도 jdk1.8.0.jvm.xyz
아무것도 변경되지 않습니다. java_home
여전히 올바른 위치에 있으며 / usr / bin / java를 실행하면 여전히 1.8 JVM이 실행됩니다. 이것은 synlink 등의 문제가 아닙니다.
비슷한 질문에 대한 답변
이 답변 은 java_home에서 Java 버전을 제거하는 해킹의 양을 제공 하지만 java_home이 기본값을 선택 하는 방법 과 사용자가 비파괴 적으로 설정할 수 있는지 여부에 대한 질문에는 여전히 답변하지 않습니다 .
/usr/bin/java
를 가리 킵니다 /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
. Versions
디렉토리는 1.8.0 JDK에 대한 심볼릭 링크가 포함되어 있지 않습니다. 대신 유용하게라는 디렉토리가 들어 A
있는 Current
가리키는합니다. A
"JAVA_HOME. 명령 이있는 하위 디렉토리 Commands
가 java
있지만 누가 무엇을 알고 있는지를 수행하는 불투명 한 범용 바이너리입니다. java_home
사용할 JVM을 결정하기 위해 , 등을 사용하는 것 같습니다.
/usr/bin/java
단지 심볼릭 링크