【发布时间】:2012-09-12 16:05:28
【问题描述】:
所以我对如何签署 jar 以使其作为 jnlp 运行有点困惑。
目前我有一个jar,它运行,开始下载并验证东西,然后它到最后并弹出一个窗口说它无法启动,然后它给出了异常:
JNLPException[category: Launch File Error : Exception: null : LaunchDesc:
<jnlp codebase="http:/SomeHost:8080/_test/" href="jnlpcomponent1.jnlp" spec="1.0+">
<information>
<title>jnlpcomponent1</title>
<vendor>SUN_MICR</vendor>
</information>
<security>
<all-permissions/>
</security>
<resources>
<jar href="lib/activation.jar" download="eager"/>
<jar href="lib/mail.jar" download="eager"/>
</resources>
<component-desc/>
</jnlp>
]
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
我相当确定这与 jar 被错误/错误地签名有关......我可以使用一些帮助来了解这里发生了什么以及如何修复它。
非常感谢。
【问题讨论】:
-
你是如何签署 jar 的?比如,命令和结果输出是什么?
-
就是这样,我根本没有签署它们,这只是来自 netbeans 的 JNLP 的正常清理 + 构建。签署 jnlp 的正确方法是什么?
-
使用 jarsigner。看这里:java.sun.com/developer/Books/javaprogramming/JAR/sign/… 你需要一个密钥库,如果你愿意,你可以自己制作。
-
是否有推荐的方式与团队共享我的密钥库,以便我们都可以作为同一个实体签名?
-
尝试搜索错误数据库/提出错误。但请务必先使用 JaNeLA 检查 JNLP。
标签: java deployment jnlp java-web-start