我在这里面临一个问题 . 我想使用特殊版本来运行我们的java webstart应用程序,但只需要一个jnlp . (“经过测试,... blabla我们不能使用新版本... blabla”随机风袋)
所以我尝试像这样配置我们的JNLP:
<resources>
<j2se version="1.6.0_29" href="http://java.oracle.com/products/autodl/j2se"/>
...
</resources>
当我启动这个jnlp时,即使安装了正确的Java,我也会得到以下错误:
错误:应用程序已请求当前未在本地安装的JRE版本(版本1.6.0_29) . Java Web Start无法自动下载和安装所请求的版本 . 必须手动安装此JRE .
Update
在JNLP File Syntax中,允许使用特定的Java版本,如 1.6.0_29 . 我甚至用 1.6.0_29-b11 尝试过它 - 仍然是同样的错误 .
也可以指定精确的产品版本(实施版本) . 通过包含href属性 . 例如,Sun Microsystems,Inc . 的1.3.1_07,1.4.2或1.5.0-beta2例如,<j2se version =“1.4.2”href =“http://java.sun.com/products/ autodl / j2se“/>或<j2se version =”1.4.2_04“href =”http://java.sun.com/products/autodl/j2se“/>
Edit
给出的答案没有帮助,也没有正确的答案 .
6 回答
这很常见 . 确保每台客户端计算机已为JNLP / Webstart启用1.6.0_29 .
安装1.6.0_29并不足以告诉webstart它可用 . 有关更多信息,请参见this post
我安装了Java 1.6.0_21并在Java控制面板上启用了它 . 但是我收到了与问题中所述相同的错误消息:“应用程序已请求当前未在本地安装的JRE版本(版本1.6.0_29)”
即使我尝试使用JNLP中的不同行,我也收到了此消息,例如:
要么
我通过使用以下行编辑JNLP文件解决了这个问题:
因此,文档行“Exact产品版本(实现版本)也可能被指定”似乎是错误的 .
你用的是:
如果是这样你应该尝试:
我发现这个link,也许你的浏览器/ JRE的配置有问题,或者你是代理人?
Troubleshoot:
检查当前分配给IDE的项目构建路径的版本
确保客户端计算机上安装了
j2se version="1.6.0_29"
中指定的版本 .检查您的计算机,看看您当前是否安装了可能导致依赖性冲突的任何其他版本 .
检查类路径设置以查看默认情况下当前设置的版本 . 这可能是正确的版本吗?
Also note that:
因此,如果您要将应用程序发布到某些特定版本,则应列出所有支持的版本 . 例:
在您的情况下,您已指定
href
属性,强制Java Web Start不要将已安装的非FCS(即里程碑)JRE视为匹配项 .编辑 .
Auto-download of Software from java.sun.com
试试这个网址
j2se version =“1.6.0_05”href =“http://java.sun.com/products/autodl/j2se”/>
如果客户端计算机上安装了更高版本,则会使用最新版本 .
要么
j2se version =“1.6.0_05”href =“http://java.sun.com/products/autodl/j2se”/>
然后你会提示安装1.6.0_05 .
在调用时会使用.jnlp版本1.6.0_05 .
小心;以上仅适用于安装了更高版本的版本,然后作为示例1.6.0_29作为孩子运行1.6.0_05 .
在Java控制台中,您将看到:
如果您确实要下载"The packages currently available for auto-download "中未列出的版本,那么只有在客户端浏览器中有 greater version then 1.6.0_29 (可能是1.6.0_31) as plugin enabled 时才可以 download the specified version 1.6.0_29 . TEST安装1.6.0_31并查看是否作为示例:Firefox插件1.6.0_31在那里并启用 . 然后客户端将能够通过* .jnlp自动下载并安装1.6.0_29 .
在客户端浏览器中调用您的应用程序出现警告:“安装较低版本1.6.0_29”和“证书警告”单击是 . 安装1.6.0_29启动 .
下载浏览器重启后,插件1.6.0_31消失了!因此,浏览器重定向到Oracle下载端,您必须再次安装1.6.0_31 . 下载开始到您指定的文件夹 . 运行启动更新的文件“jxpinstall.exe”;提示再次提问;是(所有浏览器必须关闭)安装开始;看看附加内容,插件,1.6.0_31插件又回来了 . 现在您可以将您的* .jnlp应用程序与1.6.0_29一起使用 . 真的很多工作:-)
NOTE: 您将无法再次安装浏览器插件使用像"jdk-6u31-windows-i586.exe"这样的文件您必须按照上述步骤操作 . 您将获得一个正确的文件"jxpinstall.exe" .
java.sun.com自动下载功能简化了Java Web Start部署,因为它使常用软件随时可用于Java Web Start . 通常,只有额外的行必须添加到JNLP文件才能利用此功能 . ...
The packages currently available for auto-download are:
available packages look here
它是该死的java版本,使用较低版本修复了这个问题 . 我使用Java 1.8.0_05-b13 Java HotSpot(TM)64位服务器VM,它成功完成 .