【发布时间】:2014-01-22 17:25:02
【问题描述】:
有没有办法指向特定的 JRE/JDK 位置来运行 JWS 应用程序?我正在研究指定 JRE 的实际位置,而不仅仅是它通过 JNLP 文件的 Java SE 元素的版本。我不想访问任何系统 JRE,我只想使用与我的应用程序捆绑在一起的内容。
目前我正在尝试将 1.6_45 与我的应用程序捆绑在一起。但是,当用户在其系统上安装了 1.7_xx JRE 时,我遇到了问题。它会阻止 webstart 应用程序的启动。这些罐子是自签名的,让他们由 CA 机构签名不是一种选择,因为它太 $$。我将 jnlp 中的 j2se 版本标记更改为 1.6*,这允许它在 1.7_xx 存在的情况下运行。一个错误被压扁了。
现在的问题是系统正在升级到 1.6_71 [私有 oracle 版本],显然其中包含一些 1.7 安全修复程序。所以现在由于 jnlp 标签有 1.6*,我的应用程序正在拾取 1.6_71 并完全挂起。 Webstart 只是打开 java 控制台并挂起。我尝试将 -Djnlpx.home 添加到 jnlp java-vm-args,指向捆绑的 jre/bin,但那里没有运气。
我尝试的一种方法 [来自 SO 上的帖子] 是我创建了一个到我的特定 javaws 的快捷方式,将 jnlp 文件位置作为参数传递。这没有用。它仍然拾取 1.6_71 并挂起。
此时,如果我再用谷歌搜索,它会开始向我显示验证码……叹息。 任何指针都非常感谢!谢谢!
【问题讨论】:
标签: java java-web-start jnlp