signer information does not match signer informati on of other classes in the same package问题

signer information does not match signer informati on of other classes in the same package问题
今天客户发过来一个新的jar包B.jar,让我替换原来的进行测试,但是替换完毕执行后,出现如下错误:
C:\Program Files\Java\jdk1.5.0_16
Exception in thread "main" java.lang.SecurityException: class "xx.xx"'s signer information does not match signer information of other classes in the same package
        at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
        at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at xx.xx(xx.java:80)

网上搜了一圈,大部分说引入的jar包呢有相同类名的类,所以loader的时候出现错误。

但是目前做的一个小产品,只有两个jar包,A.jar和前文提到的B.jar,没有引入第三方包。我仔细查了一下两个jar包,不存在相同类名的情况。

最后发现这个问题很多时候和数字签名这个关键字一起出现。然后仔细检查,发现新的B.jar里面忘记加数字签名了。

把A.jar里面的数字签名删除,运行正常。

目前在等待加完数字签名的B.jar,也在查资料寻找出现此问题的原因,未完待续。

你可能感兴趣的:(signer information does not match signer informati on of other classes in the same package问题)