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

时间:2013-11-25 19:29:30

标签: java macos java-web-start jnlp

我在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

即使我使用javaws的完整路径

,也会发生这种情况
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws foo.jnlp

只是为了验证这表明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"

2 个答案:

答案 0 :(得分:5)

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

$ /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin/javaws foo.jnlp

JDK 7 Installation for Mac OS X中所述,您可以使用java_home来避免“硬编码Java命令行工具的完整路径。”

$ /usr/libexec/java_home -v 1.6 --exec javaws foo.jnlp

答案 1 :(得分:0)

请注意javaws正在使用JRE,而不是JDK。 所以请卸载现有的JRE,我认为它是在您第一次运行JNLP时安装的,然后再下载JRE 1.6 from Oracle web site并再次运行JNLP文件。

当然,我无法测试它,只是一个演绎,希望能帮到你。