【发布时间】:2012-08-22 22:23:52
【问题描述】:
这是一个难题!
我在 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)
【问题讨论】:
-
听起来,出于某种原因,签名检查不正确。你的证书过期了吗?
-
没有。这是一个新的证书。并且在另一个小程序上使用了相同的签名代码,并且那个工作得很好......
-
一个工作日后 - 我还没有解决它。但是:我发现完全相同的 URL/HTML/JAR/applet 在 Chrome“隐身窗口”或 Safari 的“私人”模式下加载时工作正常 - 但在常规窗口中失败。有趣!
-
你的时钟有点奇怪,也许吧?或者(更有可能)您的系统的证书链被搞砸了。