Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制javaws在MacOSX上使用Java7_Java_Macos_Java Web Start - Fatal编程技术网

强制javaws在MacOSX上使用Java7

强制javaws在MacOSX上使用Java7,java,macos,java-web-start,Java,Macos,Java Web Start,我在OSX10.9.5(Mavericks)上安装了Java6、7和8 我有一个特定的JNLP文件,需要用Java7启动 在6和8之间选择很容易。对于8,我只使用“javaws”,对于6,我可以使用任何一种 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javaws foo.jnlp 或 但这不适用于Java 7: $ /usr/libexec/java_home -v 1.7 --exec javaw

我在OSX10.9.5(Mavericks)上安装了Java6、7和8

我有一个特定的JNLP文件,需要用Java7启动

在6和8之间选择很容易。对于8,我只使用“javaws”,对于6,我可以使用任何一种

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/javaws foo.jnlp

但这不适用于Java 7:

$ /usr/libexec/java_home -v 1.7 --exec javaws foo.jnlp
Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/javaws" (-1)
因为Java7和Java8没有Home/bin/javaws。只有/usr/bin/javaws链接到/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws,并且只运行最新的Java版本

那么,当您安装了Java8时,有没有办法在Java7下启动JNLP呢?
(我需要来回切换,所以“卸载Java 8”不是一个很好的答案)

您有能力修改JNLP吗?如果是这样,
会解决问题。不,我已经试过了。尽管JNLP中有版本字符串,它仍然在1.8中运行。我在Java控制台中看到了这一点:
JavaWebStart 11.31.2.13使用JRE版本1.8.0_31-b13 Java HotSpot(TM)64位服务器VM来澄清我之前的评论:下载后在客户端编辑JNLP没有任何作用;看起来它再次与服务器进行检查,以在启动时获取版本。如果我在服务器端更改版本,则会收到以下警告:“此应用程序希望使用未安装在您的系统上的Java(1.7)版本…”然后,它会给我在最新版本上运行或取消的选择。我没有选择在1.7下运行。我确实安装了JDK1.7和1.8。但显然只有JRE 1.8,安装程序不允许我安装JRE 1.7。
$ /usr/libexec/java_home -v 1.7 --exec javaws foo.jnlp
Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/javaws" (-1)