Mac OS X 10.6.7 Java 경로 현재 JDK 혼동
Mac OSX에서 여러 Java 버전에 대한 이해 (실제 경로 대 링크)가 있습니다. 일반적으로 Windows에서 내 컴퓨터에 여러 버전이 설치되어 있으면 원하는 버전의 경로를 선택하여 사용할 수 있습니다. 그러나 MAC OS XI에는 CurrentJDK를 가리키는 링크라는 것이 있으며 다른 버전을 사용하려면 링크를 CurrentJdk로 변경해야합니다. 그러나 저에게 혼란스러운 것은 아래에서 볼 수 있듯이 모든 버전이 동일한 CurrentJDK를 가리키고 있다는 것입니다. 즉, 모든 버전이 현재 버전을 가리킴을 의미합니까? 나는 그들 중 하나만 CurrentJDK를 가리킬 것이라고 기대하고 있었고 여기에서는 그렇지 않은 내가 필요한 것으로 변경할 수 있습니다. 내가 알아야 할 것은 각 버전의 bin (Commands) 폴더 경로를 찾는 방법입니다. CurrentJDK를 가리키는 데 사용할 수 있습니까? 또한 CurrentJDK에 대한 링크를 변경하는 방법을 알려주십시오.
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
lrwxr-xr-x 1 root wheel 5 Mar 20 11:12 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Dec 2 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6.0 -> CurrentJDK
drwxr-xr-x 10 root wheel 340 Mar 20 11:13 A
lrwxr-xr-x 1 root wheel 1 Mar 20 11:12 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 20 11:12 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
대부분의 경우 jdk가 하나만 설치되어 있으므로 모든 소프트 링크가 동일한 jdk를 가리 킵니다. 그러나 여러 개의 jdk가 설치되어있는 경우 / Application / Utilities에서 'Java Preferences'앱과 함께 사용할 jdk를 선택해야합니다.
소프트 링크는 ln -s
터미널 의 명령 으로 생성됩니다 .
다른 유형의 JDK 또는 설치의 경우 경로가 다릅니다.
Mac OS X Mavericks에서 찾은 경로는 다음과 같습니다.
1) 내장 JRE 기본값 :
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
2) Apple에서 다운로드 한 JDK :
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
3) Oracle에서 다운로드 한 JDK :
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
다음 명령을 실행하십시오.
$ brew update
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/
oracle64-1.8.0.45 added
1.8.0.45 added
1.8 added
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
oracle64-1.7.0.79 added
1.7.0.79 added
1.7 added
$ jenv versions
* system (set by /Users/wanluwang/.jenv/version)
1.7
1.7.0.79
1.8
1.8.0.45
oracle64-1.7.0.79
oracle64-1.8.0.45
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
$ jenv global oracle64-1.7.0.79
$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Apple 기술 Q & A Java 질문에서 :
사용자 기본 설정
On Mac OS X, the Java runtime provides the java.util.prefs API which is backed by the standard Mac OS X Preferences API and directories. Simply using this pure Java API reads and stores your application's preferences in ~/Library/Preferences in a Mac OS X property list file. For applications that may already have their own preferences format, these preferences should be stored in the ~/Library/Preferences directory as well. This directory can be reached from Java code by creating a file with the path of System.getProperty("user.home") + "/Library/Preferences/" + "com.example.your.Application". An application that should have global preferences across all users could instead reside in /Library/Preferences, however this directory is not writable by non-admin users.
set $JAVA_HOME=$(/usr/libexec/java_home) in your .bash_profile
or export JAVA_HOME=$(/usr/libexec/java_home);
echo $JAVA_HOME
ReferenceURL : https://stackoverflow.com/questions/6141180/mac-os-x-10-6-7-java-path-current-jdk-confusing
'programing' 카테고리의 다른 글
C ++, C로 Android 프로그래밍을 할 수 있습니까? (0) | 2021.01.15 |
---|---|
세션 변수에 대한 제한이 있습니까? (0) | 2021.01.15 |
날짜 명령이 Linux 사양을 따르지 않음 (Mac OS X Lion) (0) | 2021.01.15 |
ID에 마침표가 포함 된 경우 ApiController가 404를 반환합니다. (0) | 2021.01.15 |
Facebook 페이지에 대한 "만료되지 않는"액세스 토큰 생성 (0) | 2021.01.15 |