Java 7(特にアップデート4)では、すべてのユーザーがWebstartアプリでこれを確認し始めたことに気づき始めました。
[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からのランダムなポイントでほぼすべてのクラスが発生し、いくつかの動作が中断されます。ユーザーがJava6を使用する場合、問題はありません。ちょうど7(アップデート4)。メインアプリケーションjarとそのライブラリjarの両方のすべてのjarに署名します。つまり、ウェブスタートアプリを起動したユーザーには、黄色や赤ではなく青い盾が表示されます。
ユーザーがJava7にアップグレードする頻度が高くなっているため、これは明らかに問題です。以前のインストール(動作)を使用するか、新しいインストールをインストールすることにより、ユーザーのマシンでJava6を使用するようにアプリを強制しようとしました。リソースの周りにj2seversion= "1.6"タグがありますが、これはそれ自体の問題を引き起こし、おそらくそれ自体のスレッド(自動jreインストール部分)にするのが最善でしょう。
OracleはJava7u4でWebstartのセキュリティを破りましたか?このセキュリティ例外の問題を解決するにはどうすればよいですか?