6

尝试在构建路径中发布.war package包含 Web Start 应用程序时遇到了很多麻烦。commons-configuration-1.3.jar(com.sun.deploy.net.JARSigningException)

我已经尝试清理javaws缓存,重新安装应用程序,甚至重新安装java (1.6.0_24).

这是我NetBeans IDE 6.8 (Build 200912041610)在创建JNLP应用程序时的一段输出:

Warning: 
The signer certificate will expire within six months.
Signing JAR: D:\Java\workspace\OTP\DeskOTP\atual\build\cluster\modules\ext\commons-configuration-1.3.jar to D:\Java\workspace\OTP\DeskOTP\atual\build\jnlp\app\br-com-petrobras-ep-gedig-gedigdesktoplibrary\ext-commons-configuration-1.3.jar as jnlp

但是,当我尝试运行时,我得到了JARSigningException这个罐子。

所以,我决定解决这个问题,禁用这个验证。我相信我可以决定并告诉jvm不要验证我的罐子(我的责任)。

无论如何要告诉jvmjavaws永远不要验证非签名jars

4

2 回答 2

5

作为第一反应,我会说尝试java -noverify -jar your_file.jar.

但是,这仅适用于本地 jarfile。它不适用于网络资源,这听起来像是您正在尝试做的事情。那正确吗?

于 2012-05-11T00:24:38.767 回答
0

您始终可以从网上下载 jar,手动删除清单上的签名部分,它应该可以工作。如果 jar 碰巧像 @Riking 在另一个回复中提到的那样从网上动态下载,那么您可以通过将 URL 代理到不同的服务器来解决问题。

现在,如果您可以访问部署构建状态并且在工件上的签名过期时遇到问题,一种替代方法可能是使用您公司(Petrobras?)的签名证书重新签署 jar。这将允许您解决过期问题,前提是构建知道它应该提取您的工件版本而不是原始公共配置。

于 2016-09-21T19:12:42.673 回答