我在我的网站上使用未签名的小程序。从 java 1.6u19 开始出现混合代码警告。这很奇怪,因为 applet 只是一个 jar,它不使用任何外部资源。
我发现问题是由 C:\Program Files\Java\jre6\lib\applet 目录中的 WMPNS.jar 引起的。这是一个来自 windows 媒体播放器的签名 jar。Java 将它与我未签名的小程序一起加载,并导致警告。删除该文件可以解决问题,但我不能要求我的用户将其删除。
是否有可能以某种方式阻止加载该罐子?
从http://download.oracle.com/javase/tutorial/deployment/applet/getStarted.html运行小程序时来自 java 控制台的日志:
Trace level set to 5: all ... completed.
[...]
sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@1a9883d
basic: Plugin2ClassLoader.addURL parent called for file:/C:/Program%20Files/Java/jre6/lib/applet/WMPNS.jar
basic: Plugin2ClassLoader.addURL parent called for http://download.oracle.com/javase/tutorial/deployment/applet/examples/dist/applet_HelloWorld/applet_HelloWorld.jar
这里还有其他人在 JRE\lib\applet 目录中有 WMPNS.jar 吗?