15

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

4

10 回答 10

17

我有基于 Java 6 的 Java Web Start 应用程序..我怎样才能只为这个应用程序强制 JRE 6?

在元素中使用适当的version属性。j2se

<resources>
    <!-- Any 1.6 JRE -->
    <j2se version='1.6*'>
    ...
</resources> 

警告

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

我能想到为什么它无法工作的最好原因是,Oracle 厌倦了为早期 Java 版本发布安全更新 - 所以强迫每个用户使用最新的 JVM。

于 2012-12-07T08:04:52.370 回答
13

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

于 2014-08-21T13:44:46.030 回答
4

我有一台装有 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 可以通过执行这个批处理文件来启动。

于 2015-09-21T08:42:35.647 回答
3

另一个对我有用的合理解决方案是重命名最新 JRE/JDK 的 javaws.exe(javaws2) 程序文件,因为 JVM 总是搜索安装的最新版本。如果您需要回滚更改,只需再次重命名为原始值即可

于 2016-05-13T17:35:22.627 回答
1

只需显式使用javaws.exe您想要的 JRE 中的 ,如下所示:

C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe 文件.jnlp

但请记住其他答案,例如 j2se 版本设置和 jnlp 规范。

于 2014-04-30T13:26:00.180 回答
1

我建议还添加 -verbose 标志。例如 javaws.exe -verbose http....

就我而言,我仍在调用一些 java1.8 参数(参见屏幕截图),因此我还必须在 Java 控制面板中禁用 Java 8。

于 2016-11-10T05:07:25.277 回答
1

Jnlp jre 设置位于控制面板中的 Java 设置下。

转到控制面板并搜索“Java”。就我而言,它是 Java(32 位)。打开它并选择 Java 选项卡,然后选择 Java Application Runtime Settings

于 2017-03-17T07:08:46.413 回答
0

您必须通过以下简单过程手动完成,

  1. 右键单击 jnlp 文件 --> 属性。转到属性打开 --> 单击更改按钮。
  2. 选择浏览。
  3. 选择您想要的 JRE 版本的 javaws.exe 的路径,无论是 6 还是 7. ex。C:\Program Files (x86)\Java\jre7\bin\javaws.exe (在我的例子中)
于 2012-12-06T13:49:59.370 回答
0

我有同样的问题。我创建了一个更改 JAVA_HOME 变量的 bat 文件,然后使用 javaws 运行 jnlp 文件,它对我有用。

bat文件内容:

SET "JAVA_HOME=[path to your jre folder]"
javaws [path to your jnlp]

希望能帮助到你 :)

于 2016-11-09T10:20:47.193 回答
0

只需将 jnlp 文件的链接拖到适当版本的 javaws 上,它“打开方式”图片如何用 javaws 打开 jnlp MacOS 用户通常以相同的方式打开文件

于 2017-10-11T08:03:48.003 回答