用Java 6 JRE而不是JRE 7打开JNLP文件

Ari*_*iod 15 java windows java-web-start

我有一个基于Java 6的Java Web Start应用程序,我需要在Windows机器上打开它.机器安装了JRE 7,手动将JRE 6复制到该Program Files文件夹.问题在于,无论何时我想打开JWS应用程序,它都会使用Java 7打开.即使我使用javawsJRE 6中的可执行文件,一些属性仍然引用JRE 7文件(我通过使用验证了这一点javaws -verbose app.jnlp.我如何强制使用JRE 6仅适用于此应用程序?

And*_*son 17

我有基于Java 6的Java Web Start应用程序..如何才能为此应用程序强制使用JRE 6?

versionj2se元素中使用适当的属性.

<resources>
    <!-- Any 1.6 JRE -->
    <j2se version='1.6*'>
    ...
</resources> 
Run Code Online (Sandbox Code Playgroud)

警告

此解决方案似乎不再适用于安装早期版本的JVM!

我能想到它为什么不能工作的最好理由是Oracle厌倦了为早期Java版本发布安全更新 - 因此迫使每个用户使用最新的JVM.

  • 我认为它已停止工作,因为Oracle在2013年从Web Start中删除了JRE自动下载功能:[openjdk bug 8006701](https://bugs.openjdk.java.net/browse/JDK-8006701).Web Start现在经常(但不总是)默默地忽略版本规范. (2认同)

小智 13

我意识到这是有史以来最古老的帖子,但是当我搜索类似的问题时,它就出现了.处理此问题的最简单方法(作为一个不会影响整个系统的一次性解决方案)是安装并行的旧版Java,并将jnlp拖到javaws.exe上.(我有一个使用Java 5的Web应用程序,否则无法打开)