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

时间:2012-12-06 13:41:05

标签: java windows java-web-start

我需要在Windows机器上打开基于Java 6的Java Web Start应用程序。机器安装了JRE 7,手动将JRE 6复制到Program Files文件夹。问题在于,无论何时我想打开JWS应用程序,它都会使用Java 7打开。即使我使用JRE 6中的javaws可执行文件,一些属性仍然引用JRE 7文件(我使用{{验证了这一点) 1}}。我怎样才能强制JRE 6用于此应用程序?

10 个答案:

答案 0 :(得分:17)

  

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

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

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

警告

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

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

答案 1 :(得分:12)

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

答案 2 :(得分:3)

我有一台安装了Windows 7的UAC控制笔记本电脑和两个Java版本(1.8和1.7)。 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 Cache Viewer并转到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可以通过执行此批处理文件来开始。

答案 3 :(得分:3)

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

答案 4 :(得分:1)

我建议也添加-verbose标志。 e.g。     javaws.exe -verbose http ....

就我而言,我仍在调用一些java1.8参数(参见screenshot), 所以我不得不在Java控制面板中禁用Java 8。

答案 5 :(得分:1)

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

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

答案 6 :(得分:0)

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

  1. 右键单击jnlp文件 - &gt;化子性质。 转到属性打开 - &gt;点击更改按钮。
  2. 选择浏览。
  3. 选择您想要的JRE版本的javaws.exe的路径,无论是6 ot 7。 恩。 C:\ Program Files(x86)\ Java \ jre7 \ bin \ javaws.exe(在我的情况下)

答案 7 :(得分:0)

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

  

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

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

答案 8 :(得分:0)

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

bat文件的内容:

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

希望有所帮助:)

答案 9 :(得分:0)

只需将jnlp文件的链接拖到适当版本的javaws上即可#34;用&#34; picture how to open jnlp with javaws打开MacOS用户通常以相同的方式打开文件