尝试在构建路径.war package
中发布包含commons-configuration-1.3.jar
的Web Start应用程序的(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
不要验证我的罐子(我的责任)。
有没有告诉jvm
或javaws
永远不要验证未签名的jars
?
答案 0 :(得分:4)
作为第一反应,我想说试试java -noverify -jar your_file.jar.
但是,这只适用于本地jar文件。它不适用于网络资源,这听起来像你正在尝试做的事情。是吗?
答案 1 :(得分:0)
您可以随时从网上下载jar,手动删除清单上的签名部分,它应该可以正常工作。如果jar正好像其他回复中提到的@Riking一样从网上动态下载,那么你可以通过将URL代理到另一台服务器来解决这个问题。
现在,如果您可以访问部署构建状态并且在工件上有过期签名的问题,则可以使用您公司的(Petrobras?)签名证书重新签名jar。这将允许您解决过期的问题,前提是构建知道它应该提取您的工件版本而不是原始的公共配置。