Java Preferences가 없어진 지금 Mountain Lion에서 두 Java 버전 간을 전환하려면 어떻게해야합니까?


32

Mountain Lion과 함께 두 가지 버전의 Java가 설치되어 있습니다.

Apple의 업데이트 Java 기본 설정을 제거합니다 . 에서 또 다른 질문 이 유틸리티의 제거에 대한 사람의 불가사의.

내 질문은 다릅니다 :

  • Java 환경 설정 이 사라진 상태 에서 두 버전간에 어떻게 전환 할 수 있습니까?

이전에 Apple 유틸리티를 사용하여 Java 환경 설정을 쉽게 설정했습니다. 유틸리티가 없으면 쉽고 빠른 방법이 있습니까?


Java 환경 설정을 다시 설치할 수없는 이유가 있습니까?
chharvey

@ TestSubject528491 어떻게해야합니까?
Maverik

나는 이것이 당신을 도울 것이라고 생각합니다. 나는 아직 내 컴퓨터에서 시도하지 않았습니다. 다음 링크 wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux 에서 12 단계와 13 단계를 참조하십시오 . 당신은 자바 사이를 전환하는 단계를 반복 할 수 있습니다. 이것이 도움이되기를 바랍니다 ..
Dilip Rajkumar

@DilipRajkumar 그것은 리눅스입니다 ....
Maverik

죄송합니다. Linux 명령이 Mac에서 작동한다고 잘못 가정했습니다. 다른 솔루션으로 운이 좋으면 제안 해 드리겠습니다 ..
Dilip Rajkumar

답변:


12

두 가지 접근 방식이 필요할 수 있습니다.

  • 하나는 애플릿 플러그인의 버전 만 전환합니다.
  • 애플릿 플러그인의 버전을 전환하지 않고 JRE의 다른 부분에 대한 버전을 전환하는 다른 방법입니다.

최근 사용 사례 :

  • 플러그인을 사용하지 않는 앱용 Java 8
  • 애플릿 플러그인 용 Java 7 업데이트 9

JRE / JDK의 다른 부분은 아닌 애플릿 플러그인을 Java 8에서 Java 7 Update 9로 전환하려면

  1. 웹 브라우저 및 Java 또는 Java 애플릿 플러그인을 사용하는 다른 앱을 종료하십시오.
  2. JDK 8 설치
  3. 플러그인을 치워
  4. JRE 7 업데이트 9 또는 JDK 7 업데이트 09를 설치하십시오.

따로 설정 : 제안 된 이동

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /private/var/tmp

당신이하려는 경우 전환 자주, 당신은 다른 임시 위치를 선호 할 수 있습니다.

결과

sh-3.2$ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b58)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b02, mixed mode)
sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

동시에 :

Safari에서 Oracle의 Java 버전 확인 스크린 샷

JRE / JDK의 다른 부분은 아닌 애플릿 플러그인을 Java 7 Update 9에서 Java 6 Update 37로 전환하려면

아래 답변 :


애플릿 플러그인이 아닌 JRE를 Java 8에서 Java 7 Update 9로 전환하려면

JDK 7 업데이트 09를 설치 한 다음 JDK 8을 설치하십시오.

  • OS와 앱은 기본적으로 가장 큰 버전을 사용합니다.

Java를 사용하는 모든 앱을 종료하십시오. 브라우저를 종료 할 필요가 없습니다.

jdk1.8… 디렉토리를 제외하고

/Library/Java/JavaVirtualMachines

  • OS 및 앱은 Java 7 업데이트 9를 사용합니다.

애플릿 플러그인이 아닌 JRE를 Java 7 Update 9에서 Java 6 Update 37로 전환하려면

Java를 사용하는 모든 앱을 종료하십시오. 브라우저를 종료 할 필요가 없습니다.

jdk1.7… 디렉토리를 제외하고

/Library/Java/JavaVirtualMachines

  • OS 및 앱은 Java 6 업데이트 37을 사용합니다.

macbookpro08-centrim:~ gjp22$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
macbookpro08-centrim:~ gjp22$ sudo mv /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk /private/var/tmp
Password:
macbookpro08-centrim:~ gjp22$ java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)

일반적으로

OS X 사용자의 경우 Oracle에서 제공하는 일부 내용은 처음에 오해의 소지가 있습니다.

… 등등.

간단

위의 어느 것도 이전에 애플에 의해 설치된 앱 관련 자바 환경으로의 전환으로 간단없는 반면, 상대적으로 간단한 방법 따로 설정하지 (특수 제거가 필요) ... 드래그 앤 드롭 설치를위한 소원을 연상 이전에 표현오픈 JDK-OSX 빌드 영역입니다.

누군가 앱을 만들고 싶어하지만 심볼릭 링크를 사용하지 않는 것이 좋습니다. 작동하지만 설치에 대한 향후 끌어서 놓기 방식과 일치하지 않을 수 있습니다.

사이드 노트

글을 쓰는 시점에서 가장 최근에 어떤 지원 릴리스 오라클은 업데이트를하게 공개적으로 사용할 수 있는 37 자바 6 업데이트 (OS X 이외의 다른 플랫폼 용) 및 자바 7 업데이트 (9) (OS X를 포함한 플랫폼).

더 큰 릴리스가 제공 될 예정이므로이 답변을 적절히 해석하십시오.

이 답변의 Java 버전 용어는 Java 도움말 센터 용어 와 일치 합니다.


당신은 정말로 Java 8을 언급하고 있습니까, 아니면 오류입니까? :-)
Maverik 2018

1
정말로 ;-)… 링크 된 질문, 오른쪽 열을 참조하십시오.
Graham Perrin

4
다음은 JDK8을 사용하고 자주 전환하려는 경우 유용한 정보입니다. JDK8 디렉토리를 chmod 0000로 설정하여 끄고 sudo chmod 0000 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/다시 켜십시오 sudo chmod 0755 /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/.
Brett Ryan

1
@BrettRyan의 마지막 제안은 나를 위해 완벽하게 작동했습니다. 가장 쉬운 방법이라고 생각합니다.
Artem

1
가장 간단한 하나 @BrettRyan에 감사드립니다 !!! 나는 대답의 저자에게 대안을 추가 할 것을 제안합니다. 명령을 사용하여 홈 폴더에 .sh를 만들고 서로 전환하는 키에 바인딩 된 Automator를 만들었습니다. 놀랄 만한!
판 트로

29

다음 명령을 사용하여 터미널을 엽니 다.

/usr/libexec/java_home -v 1.6 

1.6을 사용하려는 모든 Java 버전으로 변경할 수 있으며 명령은 해당 Java 버전이있는 위치를 출력합니다. (예 : /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home)

그런 다음 일반적으로 이전 명령의 출력에서와 같이 JAVA_HOME을 설정할 수 있습니다. 즉 :

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

따라서 단순화하기 위해; 이와 같은 것이 작동해야합니다.

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

다음을 사용하여 버전을 확인하십시오.

java -version

도움이 되길 바랍니다.


4
이것은 온라인 어디에서나 찾을 수있는이 문제에 대한 가장 유용한 단일 답변입니다. 고맙습니다!
SearchTools-Avi

1
네, 이것이 정답입니다. 설치 한 응용 프로그램 서버에 대한 필수 업데이트 JAR이 있으며 Java 6에서만 실행됩니다.이를 사용하여 Java 6으로 전환하고 업데이터를 실행 한 다음 다시 전환 할 수있었습니다. 이제 Java 7에서 실행되도록 애플리케이션 서버를 업데이트 할 수 있습니다.
Adrian J. Moreno

4

수동으로해야 할 것 같습니다. 오라클의 문서에는 한 번에 하나의 JRE설치할 수 있다고 명시되어 있습니다 .

이 Apple 지원 페이지 에서는 Apple SE 6 JRE와 Oracle SE 7 JRE 간을 전환하는 방법에 대해 설명 합니다 . 간단히, Oracle의 JRE에서 Apple로 다시 전환하려면 터미널 앱을 시작하고 다음을 입력하십시오.

sudo mkdir -p /Library/Internet\ Plug-Ins/disabled

sudo mv /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /Library/Internet\ Plug-Ins/disabled

sudo ln -sf /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

지원 페이지에는 Web Start를 JRE 6으로 다시 전환하는 방법 및 모든 것을 Oracle JRE 7로 다시 전환하는 방법 (JRE 재설치)에 대한 자세한 지시 사항이 있습니다.

Java Preferences 유틸리티를 사용하는 것만 큼 간단하지는 않지만 아무것도 사용하지 않는 것보다 낫습니다.


1
Oracle에서 최근에 JRE라는 용어를 사용하면 OS X 사용자에게 오해의 소지가 있습니다. JRE는 플러그인 이상의 기능을합니다.
그레이엄 페린

2

user2343996 님의 답변 에 기초

alias java8="export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) && java -version"
alias java6="export JAVA_HOME=$(/usr/libexec/java_home -v 1.6) && java -version"

-4

왜 2 가지 버전의 Java를 설치해야합니까?

Apple은 기본 업데이트로 Java를 설치하지 않았습니다 (라이온 이후부터는 믿습니다). Mac에서 Java를 확인 / 설치하는 가장 좋은 방법은 다음과 같습니다.

  1. 터미널을 엽니 다. 따옴표없이 "java"를 입력하십시오.
  2. java가 없으면 "Java Runtime이 없습니다. 설치 요청 중…"이라는 메시지가 나타납니다.
  3. Java가 정상적으로 설치를 시작합니다 (설치를 시작하는 잘못된 실행 파일입니다)
  4. 버전을 확인할 Java가있는 경우 "java-version"터미널 유형

다른 버전의 java를 설치하려면 Oracle 사이트로 이동하여 최신 / 이전 jdk를 다운로드하십시오.


질문에 쓴 것처럼 이미 두 가지 버전의 Java가 있습니다. 기본 설정을 변경하는 방법을 묻습니다.
Maverik

최신 버전 / 최신 버전으로 자동 전환됩니다. 필자의 경우 jdk 7을 마지막으로 설치했습니다. 이것이 기본적으로 작동하는 것입니다.
SashaZd

3
버전간에 전환 할 수 있기를 원합니다.
Maverik

Apple JDK 6과 Oracle JDK 7에는 컴파일 타임과 런타임에 비 호환성을 유발할 수있는 차이점이 있습니다.
JohnnyO

1
일반적으로 답변이 단순히 '아니오'일 때 경쟁적이거나 설득력있는 대안을 제시 할 수 없다면 우리는 다른 사람의 전제를 바꾸려고하지 않습니다. 우리는 또한 투표를 요청하지 않기 때문에 귀하의 답변에서 투표를 편집했습니다.
bmike
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.