4

Java Web アプリケーションの場合、JRE 1.6.0_22 を使用するとこのエラーが発生しました

java.lang.SecurityException: クラス "org.apache.log4j.Logger" は、同じパッケージ内の他のクラスの信頼レベルと一致しません

ただし、JRE 1.6.0_13 を使用すると問題なく動作します。

Google で検索したところ、アップデート 19以降、セキュリティが強化されていることがわかりました。

そして、この例外については、次のように述べています。

次の 2 つの SecurityException は、混合コンポーネントが以前に検出され、それらの共存を許可する決定が行われた後にスローされます。例外は、信頼できるコンポーネントと信頼できないコンポーネントの間でコンポーネント名の衝突 (リソース名またはクラス パッケージ名) が検出され、リソースまたはクラスをロードする要求が拒否されたことを示します。

問題は、衝突が発生しているクラス (おそらく org.apache.log4j.Logger?) とそれらが含まれているパッケージをどのように見つけることができるかということです。

Oracle フォーラムにも同様の質問があります。

4

1 に答える 1

2

興味深いリンク。私はまだ問題を抱えていませんでしたが、JavaEEコンテナのクラスパスのどこかに「org.apache...」が含まれるjarファイルWebアプリケーションがある可能性があります。

それを探して、テストしてWebアプリから削除します

于 2011-01-13T14:32:51.750 に答える