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)
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)
網(wǎng)上搜了一圈,大部分說(shuō)引入的jar包呢有相同類名的類,所以loader的時(shí)候出現(xiàn)錯(cuò)誤。
但是目前做的一個(gè)小產(chǎn)品,只有兩個(gè)jar包,A.jar和前文提到的B.jar,沒有引入第三方包。我仔細(xì)查了一下兩個(gè)jar包,不存在相同類名的情況。
最后發(fā)現(xiàn)這個(gè)問題很多時(shí)候和數(shù)字簽名這個(gè)關(guān)鍵字一起出現(xiàn)。然后仔細(xì)檢查,發(fā)現(xiàn)新的B.jar里面忘記加數(shù)字簽名了。
把A.jar里面的數(shù)字簽名刪除,運(yùn)行正常。
目前在等待加完數(shù)字簽名的B.jar,也在查資料尋找出現(xiàn)此問題的原因,未完待續(xù)。