3

在我的一台工作站机器上(但不是在另一台机器上)使用 Java 1.7.0_40 并将任何 -D 设置(例如-Dmykey=myvalue)添加到“Java 控制面板”的“Java 运行时环境设置”的“运行时参数”中运行未签名代码时导致以下运行时异常:

java.lang.ClassNotFoundException: appls.XHTMLV9.user.Applet because the class is not signed.
at sun.plugin2.applet.Plugin2ClassLoader.newClassNotFoundException(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

在 Java 控制台中,我还看到了以下我以前从未见过的消息:

cache: Initialize resource manager: com.sun.deploy.cache.ResourceProviderImpl@d0570e
security:  --- parseCommandLine converted : -Dmykey=myvalue
into:    
[-Dmykey=myvalue]

使用 Java 1.7.0_25 运行和/或删除命令行标志解决了这个问题,我有另一个工作站,这个问题不会重现。有任何想法吗 ?

4

1 回答 1

2

只允许安全系统属性。有关详细信息,请参阅http://download.java.net/jdk8/docs/technotes/guides/jweb/applet/applet_deployment.html#COMMAND_LINE_ARGS

不过,感谢您的问题,它帮助我解决了我的 ClassNotFoundException。

于 2013-10-31T03:01:18.417 回答