我花了2天时间试图解决这个问题,无法找到这个修复或至少一个解决方案:
java.lang.SecurityException:类"client"的签名者信息与同一包中其他类的签名者信息不匹配在java.lang.ClassLoader。checkCerts(未知来源)在java.lang.ClassLoader。preDefineClass(未知来源)在java.lang.ClassLoader.defineClass(来源未知)在java.security.SecureClassLoader.defineClass(来源未知)在java.net.URLClassLoader.defineClass(来源未知)在java.net.URLClassLoader.access$100在java.net.URLClassLoader$1.run(来源未知)在java.net.URLClassLoader$1.run(来源未知)在java.security.AccessController。doPrivileged(本地方法)在java.net.URLClassLoader.findClass(未知来源)在java.lang.ClassLoader。loadClass(未知源)在sun.misc.Launcher AppClassLoader美元。loadClass(未知源)在java.lang.ClassLoader。loadClass(未知源)在java.lang.ClassLoader。loadClass(未知源)Loader.main (Loader.java: 36)
public static void main(String[] args) throws Exception {
client game = new client();
Loader loader = new Loader();
game.setStub(loader);
game.init();
game.start();
loader.add(game);
loader.setDefaultCloseOperation(EXIT_ON_CLOSE);
loader.setSize(773, 531);
loader.setResizable(false);
loader.setVisible(true);
}
我的lib图片:http://puu.sh/28cAP
Dl of my lib:http://dl.dropbox.com/u/17359665/lib.jar
正如这里提到的,(Java SecurityException: signer information does not match)这与具有不同签名的相同类的两个jar有关。检查您的构建路径库并打开库,也许您会发现一个库在不同的父库中两次出现,或者也包含在您自己的jar中。在构建路径上,hamcrest 1.1版本是JUnit 4的依赖项,并且由maven导入,具有不同的签名,我遇到了这个问题。
如果您使用Maven,我解决了删除库并重新下载的问题。