[14:42:58,422] AWT-EventQueue-0(DEBUG) java.lang.SecurityException: class "CLASSNAME" does not match trust level of other classes in the same package
[14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.net.URLClassLoader$1.run(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.net.URLClassLoader$1.run(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.security.AccessController.doPrivileged(Native Method)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.net.URLClassLoader.findClass(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.lang.ClassLoader.loadClass(Unknown Source)
[14:42:58,422] AWT-EventQueue-0(DEBUG) at java.lang.ClassLoader.loadClass(Unknown Source)...More
当CLASSNAME在应用程序执行时从几个JAR中的随机点选择所有类时,会破坏一些行为。如果我们的用户使用Java 6,则没有问题!只有7(更新4)会出现问题。
我们签署了所有JAR文件,包括主应用程序JAR和其库JAR。即用户启动我们的Webstart应用程序时,看到的是蓝色盾牌而不是黄色或红色。
显然,这是一个问题,因为用户现在更频繁地升级到Java 7。我尝试强制用户机器上的应用程序使用Java 6,方法是在资源周围使用j2se version="1.6"标签(可以解决问题),或者安装一个新版本....但这会导致自动JRE安装部分出现问题,最好将其转化为单独的主题来讨论。
Oracle是否在Java 7u4中破坏了Webstart安全性?如何解决此安全例外问题?