这是一个难题!
我的 JAR 中有一个小程序。当 JAR 签名时 - 无论是自签名还是使用 DigiCert 证书 - 我在主小程序类上收到 ClassNotFoundException
。
当我不对小程序进行签名时,它加载得很好 - (由于代码未签名,不计算预期的 SecurityException
)。
但是我可以解压签名的 JAR,并发现所有内容都在它应该在的位置。
最奇怪的部分是,直到上周,设置都运行得很好。 相同的主类、自签名、相同的 JS/HTML 部署组合等。
有什么想法吗?
这是错误消息:
java.lang.ClassNotFoundException: com.spraklab.ilos.applet.Applet
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:195)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
at java.lang.Thread.run(Thread.java:680)
最佳答案
在上面的代码中,您尝试切换安全小程序类加载器。从 Java 1.2 开始,这是不允许的。
关于java - 仅当 JAR 已签名时才会出现 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12158789/