OS X 및 JAVA_HOME 위치에서 여러 Java 버전 지원


12

OS X에서 여러 버전의 Java를 사용할 수 있지만 작동 방식을 이해하기 어렵다는 것을 알고 있습니다.

Mountain Lion으로 업그레이드했는데 현재 echo $JAVA_HOME비어 있습니다.

그러나 /System/Library/Frameworks/JavaVM.framework/Versions/

1.4     1.5     1.6     A       CurrentJDK
1.4.2   1.5.0   1.6.0   Current

1.4.2로 들어가서 실행 java - version하거나./java -version

Java (TM) SE 런타임 환경 (빌드 1.6.0 _33-b03-424-11M3720)

그렇다면 동일한 버전의 Java를 가진 모든 버전이 사용되는 이유는 무엇입니까?

그런 다음 Oracle에서 JDK 7을 다운로드하여 설치했습니다.

새로운 JDK는 일반적으로 어디에 설치됩니까?

마지막 질문 : 모든 응용 프로그램에서 기본적으로 실행할 버전을 어떻게 선택할 수 있습니까?

승리. 내가 설정 JAVA_HOME받는 C:/ProgramFiles/Java/.… 내가 경로에 넣어 : 위치로 JAVA_HOME/bin하고 그게 다에요.


1
Oracle이 최근 JRE라는 용어를 사용하여 Java 애플릿 플러그인만을 설명하기 때문에 관심을 가질 수 있습니다. OS X 사용자는 이제 두 가지 버전을 동시에 사용할 수 있습니다 (플러그인 버전 하나, 플러그인을 사용하지 않는 앱 버전) : Mountain Lion에서 다른 Java 버전을 가장 잘 관리하는 방법은 무엇입니까?
Graham Perrin

답변:


3

/System/Library/Frameworks/JavaVM.framework/Versions의 내용

대부분의 사용 사례 에서 JDK CurrentJDK의 현재 이전 버전 기능을 제공해야합니다 .

모든 이전 버전이 아니라 가장 일반적으로 필요한 버전 :

sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269
sh-3.2$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6.0 -> CurrentJDK
drwxr-xr-x  8 root  wheel  272 17 Jul 07:48 A
lrwxr-xr-x  1 root  wheel    1 17 Jul 07:47 Current -> A
lrwxr-xr-x  1 root  wheel   59 17 Jul 07:47 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sh-3.2$ 

14

Java 버전 선호

일반적인 방법으로 Java 환경 설정을 사용하십시오.

Apple의 Java 배포와 함께 설치 한 내용에 따라 유틸리티의 첫 번째 탭이 약간 다르게 나타날 수 있습니다.

애플릿 및 Java Web Start에 익숙한 옵션이 없는 예 :

Java 환경 설정의 스크린 샷

일부가 배경 독서 이 명령 줄 수준에서 작동 방법은. 명령 행 도구 java_home 은이 환경 설정을 다시보고합니다.

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home

는 / usr / 빈은 / 자바 자리 응용 프로그램이 설정의 사용은 자바에서 선호하는 버전을 실행합니다.

$ which java
/usr/bin/java

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

마지막으로 Tomcat 또는 Maven의 시작 스크립트에서 JAVA_HOME을 구성 할 때 환경 설정 시스템에 연결할 수 있습니다.

export JAVA_HOME=`/usr/libexec/java_home`

다른 곳에서는 Java가 여러 경로에 설치 될 수 있습니다. 

  • / 시스템 / 라이브러리 / Java / JavaVirtualMachines
  • / 라이브러리 / Java / JavaVirtualMachines
  • ~ / 라이브러리 / Java / JavaVirtualMachines

– 그러나 현재이 질문에 설명되어있는 Oracle의 Mountain Lion에있는 JDK는 단 하나의 경로 일 것 입니다.


커뮤니티 편집에 감사드립니다. 배경 독서와 다른 링크가 있어야합니까?
Graham Perrin

2
Java 환경 설정은 더 이상 지원되지 않으며 Java 2012-006 업데이트를 적용하면 실제로 제거됩니다 . 이것은 애플이 자바를 제공하고 지원하는 것에서 멀어졌다.
BryanH

@BryanH 감사 –이 답변은 Java for OS X 2012-006 몇 달 전에 제공되었습니다. – 관련 질문을 참조하십시오. 또한 Apple이 JRE 배포 에서 멀어 지더라도 Apple이 Java 지원 을 중단한다고 가정 해서는 안됩니다 .
Graham Perrin

예, 고마워요 "지원"은 Apple이 OSX 용 Java Virtual Machine에 대한 기술적 질문을 더 이상 제공하거나 대답하지 않음을 의미한다고 생각합니다. 상기 JVM을 작성하고 유지하는 것은 Oracle (또는 다른 제 3 자)의 책임입니다.
BryanH

5

때문에 맥 OS X 10.8.2 빌드 12C60 자바 환경 설정을 더 이상 이전 버전을 표시하지 않습니다.


3

JDK 설치에 사용되는 경로

운영:

ls -l /Library/Java/JavaVirtualMachines

다른 경로를 사용할 수도 있지만 Mountain Lion에 설치된 Oracle의 현재 JDK의 경우 .jdk해당 경로에서 번들을 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.