我试图将现有的JNLP应用程序从Java 1.6.0_45升级到Java 1.7.0_51。我遇到了很多障碍,所有这些障碍都与新增强的Oracle安全性有关。
我的理解是,为了在本地网络上运行由我们的本地开发人员开发的应用程序,我们需要由受信任的CA签署的应用程序JAR。
这是我到目前为止所做的事情:
现在我明白了:
我尝试使用 javaws -verbose 和JNLP文件执行应用程序,但它根本没有显示任何内容。我在Java控制面板中将日志记录调到最大值。
在这一点上,我想出了为什么这个应用程序不会运行的想法。正如我之前所说,我们在公司内部网上运行这台机器;我们真的不在乎认证JAR的来源。我们执行需要应用程序在沙箱外运行。
如果有任何方法可以让网站开始吐出任何可能有用的东西,那么我全心全意。
答案 0 :(得分:2)
检查您的代码库参数。
jnlp文件的codebase参数必须与jnlp文件引用的jar资源的manifest.mf文件的de codebase参数相同。
示例:
file.jnlp
<jnlp codebase="https://myserver/mydirectory"
...
<resources>
...
<jar href="https://myserver/mydirectory/myJar.jar" main="true"/>
...
myJar.jar的manifest.mf
Codebase: https://myserver/mydirectory
答案 1 :(得分:0)
考虑这个常见问题:
http://www.java.com/en/download/faq/signed_code.xml
TL; DR?他们改变了在某些环境中运行Java的安全模型。
在我的组织中,我们必须对IE安全设置进行调整。