强制javaws在Mac OS X 10.7上使用Java 6

dli*_*sky 1 java macos jnlp java-web-start

我正在运行OS X 10.7.5,我已经安装了Java 6和Java 7.我有一个bash shell设置来运行Java 6但是当我启动一个JNLP文件时,我看到了Java 7启动画面,在Java控制台中,我看到了

Java Web Start 10.25.2.15
Using JRE version 1.7.0_25-b15 Java HotSpot(TM) 64-Bit Server VM
Run Code Online (Sandbox Code Playgroud)

即使我使用javaws的完整路径,也会发生这种情况

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws foo.jnlp
Run Code Online (Sandbox Code Playgroud)

只是为了验证这表明shell正在使用Java 6:

$ echo $JAVA_HOME
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
$ type -all javaws
javaws is /usr/bin/javaws
$ ls -l /usr/bin/javaws
lrwxr-xr-x 1 root wheel 76 Nov 20 10:13 /usr/bin/javaws -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws*
$ type -all java
java is /usr/bin/java
$ ls -l /usr/bin/java
lrwxr-xr-x 1 root wheel 74 Nov 20 10:13 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java*
$ java -fullversion
java full version "1.6.0_65-b14-462"
Run Code Online (Sandbox Code Playgroud)

tra*_*god 5

这适用于Mac OS X 10.9,Java版本1.6.0_65:

$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javaws foo.jnlp
Run Code Online (Sandbox Code Playgroud)

正如JDK 7 Installation for Mac OS X中所讨论的那样,您可以使用java_home"硬编码Java命令行工具的完整路径".

$ /usr/libexec/java_home -v 1.6 --exec javaws foo.jnlp
Run Code Online (Sandbox Code Playgroud)