Java SE 7을 사용하여 Windows 및 Mac 용 간단한 게임을 프로그래밍하고 있지만 컴퓨터에서 Minecraft와 같은 게임을 실행하려면 java 6으로 전환해야합니다. Mac OS X 10.8.2 빌드 12C60으로 업데이트하기 전에 제대로 작동했습니다.
이 업데이트 이전에는 Java 기본 설정을 열고 Java 6 또는 Java 7을 확인할 수 있었지만 이제는 Java 기본 설정을 찾을 수없는 것 같습니다.
OS X 10.8.2 (최신 버전)를 실행하고 있습니다.
답변
JRE (런타임 환경)를 전환 할 수 없다고 생각합니다.
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jre.html
어느 상태 :
하나의 JRE 만 설치할 수 있습니다. JRE를 설치하면 이전에 설치된 JRE가 제거됩니다. 시스템에서 사용하는 JRE 버전은 다음 두 가지 방법 중 하나로 결정될 수 있습니다.
해결 방법 :
Wuala와 함께 Minecraft와 비슷한 문제가있었습니다. Java 1.6을 사용하여 Wuala를 실행해야하는 동안 JDK 1.7로 개발해야했으며 Wuala.app 패키지를 열고 시작 스크립트를 변경하여이를 관리했습니다.
/Applications/Wuala.app/Contents/MacOS/wuala
에서:
exec java ${VMARGS} -cp "${JAR_DIR}/loader3.jar":/System/Library/Java/ com.wuala.loader3.Loader3 -alternateprogrampath "${JAR_DIR}" -installed $*
에:
/usr/libexec/java_home -v 1.6.0 --exec java ${VMARGS} -cp "${JAR_DIR}/loader3.jar":/System/Library/Java/ com.wuala.loader3.Loader3 -alternateprogrampath "${JAR_DIR}" -installed $*
즉, 단순히 다음을 대체합니다 exec
./usr/libexec/java_home -v 1.6.0 --exec
이것은 물론 다소 관련이 있으며 wuala가 자동 업데이트 될 때마다 중단되지만 그렇지 않으면 작동합니다.
다른 JDK를 사용하려면 여기를 참조하십시오.
http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html
어느 상태 :
다른 버전의 Java를 실행하려면 전체 경로를 지정하거나 java_home 도구를 사용하십시오.
/usr/libexec/java_home -v 1.7.0_06 --exec javac -version
내 설정의 그림과 예는 다음과 같습니다.
Oracle JDK 설치 :
odin:~ geff$ ls -al /Library/Java/JavaVirtualMachines
total 0
21058660 0 drwxr-xr-x 3 root wheel - 102 24 Oct 18:04:33 2012 jdk1.7.0_09.jdk/
21061692 0 drwxr-xr-x 3 root wheel - 102 24 Oct 18:06:08 2012 jdk1.7.0_07.jdk/
21042328 0 drwxrwxr-x 3 root wheel - 102 20 Apr 06:58:53 2012 1.7.0.jdk/
21031664 0 drwxrwxr-x 7 root admin - 238 24 Oct 18:04:16 2012 ../
21042327 0 drwxr-xr-x 5 root wheel - 170 24 Oct 18:06:13 2012 ./
Apple에서 제공 한 JDK :
odin:~ geff$ ls -al /System/Library/Java/JavaVirtualMachines
total 0
21026468 0 drwxr-xr-x 3 root wheel - 102 1 Nov 17:49:02 2011 1.6.0.jdk/
21026436 0 drwxr-xr-x 6 root wheel - 204 24 Mar 23:04:06 2012 ../
21026467 0 drwxr-xr-x 3 root wheel - 102 1 Nov 17:49:02 2011 ./
이것은 또한 Apple에서 제공 한 1.6 JDK를 사용하는 데 효과적입니다.
odin:~ geff$ /usr/libexec/java_home -v 1.6.0_37 --exec 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)
1.7 Oracle 버전 중에서 선택하십시오.
최초의 Oracle JDK 1.7.0_04 선택
odin:~ geff$ /usr/libexec/java_home -v 1.7.0_04 --exec java -version
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
JDK 1.7.0_07 선택
odin:~ geff$ /usr/libexec/java_home -v 1.7.0_07 --exec java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
기본 JDK가 가장 높습니다.
odin:~ geff$ 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)
부 버전 번호 만 사용하는 경우 기본값은 가장 높은 “패치 수준”입니다.
odin:~ geff$ /usr/libexec/java_home -v 1.7.0 --exec 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)
답변
java_home
메커니즘을보다 편리하게 사용할 수 있습니다 .
기본적으로 Java 7이 있다고 가정하십시오.
$ java -version
java version "1.7.0_15"
…
이제 Java 6을 활성화하자 :
$export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
그리고 거기 있습니다 :
$ java -version
java version "1.6.0_41"
…
.bashrc
더 편리하게 만들기 위해 이것을 추가했습니다 .
alias java_ls='/usr/libexec/java_home -V 2>&1 | grep -E "\d.\d.\d[,_]" | cut -d , -f 1 | colrm 1 4 | grep -v Home'
function java_use() {
export JAVA_HOME=$(/usr/libexec/java_home -v $1)
export PATH=$JAVA_HOME/bin:$PATH
java -version
}
java_ls
출력을 java_home -V
버전 번호로 줄입니다. 그리고 java_use
우리가 위에서 한 것에 대한 지름길입니다. 예 java_use 1.6
를 들어 Java 6으로 전환됩니다.
답변
JDK를 쉽게 전환하기위한 솔루션 (JRE에 대해 확실하지 않음) ( source ) :
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
echo JAVA_HOME set to $JAVA_HOME
java -version
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
(위의 기능을에 추가 .bash_profile
)
용법:
$ setjdk 1.7
답변
빠른 해결 방법은 이전 Java 6 바이너리에 대한 심볼릭 링크를 만드는 것입니다.
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java /usr/local/bin/java6
그런 다음 java6 -jar myapp.jar을 사용하여 앱을 실행하십시오.
답변
Java 환경 설정 앱이 더 이상 Java 1.6을 나열하지 않는 것 같습니다. 그러나 명령 줄에서 Java 버전을 확인하면 다음과 같은 결과가 나타납니다.
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)
답변
$ JAVA_HOME 변수를 변경할 필요없이 OS X에서 Java 버전을 즉시 전환하는 것은 매우 간단합니다.
10.8.2를 실행 중이며 $ JAVA_HOME 변수가 / Library / Java / Home을 가리 킵니다.
echo $JAVA_HOME
이 경로는 ls -l 명령을 실행하여 볼 수있는 기호 링크입니다.
ls -la /Library/Java
기본 심볼릭 링크는
홈-> / 라이브러리 /Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home/
Java를 1.7 설치로 리디렉션하려면 이전 홈 symlink를 Java 1.7 설치의 홈 디렉토리를 가리키는 새 symlink로 바꾸십시오.
cd /Library/Java
mv Home Home-1.6
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/ Home
그리고 짜잔! java -version은 현재 Java 1.7을 실행하고 있음을 보여줍니다. 기본 java JRE를 즉시 변경하려면 현재 ‘Home’으로 이름 지정된 symlink를 전환하십시오.
답변
다음은 mac OSX에서 Java 6 및 Java 7을 전환하는 쉬운 방법입니다.
1 단계 : oracle 공식 웹 사이트 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 에서 jdk 7을 다운로드
하고 단계별로 설치하십시오.
2 단계 : .bash_profile에서 $ JAVA_HOME 설정
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
$ source .bash_profile
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
3 단계 : jdk 6을 사용하려면 대안 $ JAVA_HOME to jdk 6 홈 경로
$ vim .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
$ source .bash_profile
$ echo $JAVA_HOME
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home