我有需要在 Windows 机器上打开的基于 Java 6 的 Java Web Start 应用程序。机器安装了 JRE 7,并将 JRE 6 手动复制到Program Files
文件夹中。问题是每当我想打开 JWS 应用程序时,它都会使用 Java 7 打开。即使我使用javaws
JRE 6 中的可执行文件,某些属性仍然引用 JRE 7 文件(我通过使用验证了这一点javaws -verbose app.jnlp
。如何强制 JRE 6只是为了这个应用程序?
10 回答
我有基于 Java 6 的 Java Web Start 应用程序..我怎样才能只为这个应用程序强制 JRE 6?
在元素中使用适当的version
属性。j2se
<resources>
<!-- Any 1.6 JRE -->
<j2se version='1.6*'>
...
</resources>
警告
此解决方案似乎不再适用于安装早期版本的 JVM!
我能想到为什么它无法工作的最好原因是,Oracle 厌倦了为早期 Java 版本发布安全更新 - 所以强迫每个用户使用最新的 JVM。
我意识到这是有史以来最古老的帖子,但是当我搜索类似的问题时它出现了。处理此问题的最简单方法(作为不会影响整个系统的一次性解决方案)是安装并行的旧版 Java,并将 jnlp 拖到 javaws.exe 上。(我有一个使用 Java 5 的 Web 应用程序,否则无法打开)
我有一台装有 Windows 7 和两个 Java 版本(1.8 和 1.7)的 UAC 控制的笔记本电脑。sesWebstart.jnlp 必须从较旧的 Java 版本开始,在我的例子中是 1.7。这对我有用:在 Java 控制面板中,删除应用程序 sesWebstart.jnlp 的所有条目(如果存在)。您可以在命令行中启动 Java Cache Viewer:
C:\Program Files (x86)\Java\jre1.7.0_55\bin> javaws -viewer
该命令启动 Java 控制面板和 Java Cache Viewer。转到 Java Cache Viewer,选择应用程序列表并删除 sesWebstart.jnlp 条目(如果存在)。
关闭 Java 缓存查看器并转到 Java 控制面板。转到临时 Internet 文件的设置并删除缓存文件和应用程序本身。之后,关闭 Java 控制面板。
创建一个新的批处理文件,它将使用正确的 Java(较旧的 Java)启动 sesWebstart.jnlp:
"C:\Program Files (x86)\Java\jre1.7.0_55\bin\javaws.exe" "D:\Users\christian\Desktop\sesWebstart.jnlp"
现在,sesWebstart Applet 可以通过执行这个批处理文件来启动。
另一个对我有用的合理解决方案是重命名最新 JRE/JDK 的 javaws.exe(javaws2) 程序文件,因为 JVM 总是搜索安装的最新版本。如果您需要回滚更改,只需再次重命名为原始值即可
只需显式使用javaws.exe
您想要的 JRE 中的 ,如下所示:
C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe 文件.jnlp
但请记住其他答案,例如 j2se 版本设置和 jnlp 规范。
我建议还添加 -verbose 标志。例如 javaws.exe -verbose http....
就我而言,我仍在调用一些 java1.8 参数(参见屏幕截图),因此我还必须在 Java 控制面板中禁用 Java 8。
Jnlp jre 设置位于控制面板中的 Java 设置下。
转到控制面板并搜索“Java”。就我而言,它是 Java(32 位)。打开它并选择 Java 选项卡,然后选择 Java Application Runtime Settings
您必须通过以下简单过程手动完成,
- 右键单击 jnlp 文件 --> 属性。转到属性打开 --> 单击更改按钮。
- 选择浏览。
- 选择您想要的 JRE 版本的 javaws.exe 的路径,无论是 6 还是 7. ex。C:\Program Files (x86)\Java\jre7\bin\javaws.exe (在我的例子中)
我有同样的问题。我创建了一个更改 JAVA_HOME 变量的 bat 文件,然后使用 javaws 运行 jnlp 文件,它对我有用。
bat文件内容:
SET "JAVA_HOME=[path to your jre folder]"
javaws [path to your jnlp]
希望能帮助到你 :)
只需将 jnlp 文件的链接拖到适当版本的 javaws 上,它“打开方式”图片如何用 javaws 打开 jnlp MacOS 用户通常以相同的方式打开文件