2011-01-13 62 views
4

對於java web應用程序,使用JRE時出現此錯誤1.6.0_22java.lang.SecurityException:類「org.apache.log4j.Logger」與相同包中的其他類的信任級別不匹配

java.lang.SecurityException異常:類「org.apache.log4j.Logger」並不在同一個包中其它類的信任級別相匹配

然而,使用JRE 1.6.0_13時工作正常。

我在谷歌搜索,發現從update 19以來有一個安全增強。

而且這個例外,它說,

此前被檢出成分混合後,下面的兩個SecurityExceptions都扔掉,並作出決定,讓他們共存。異常表示在可信組件和不可信組件之間檢測到組件名稱衝突(資源名稱或類包名稱),並且加載資源或類的請求被拒絕。

現在的問題是,我怎麼能找到哪些類(也許org.apache.log4j.Logger?)有碰撞和他們在哪些包?

我發現存在Oracle forums

+0

從哪裏拋出異常。我在JDK中看不到那些文本。看起來類似於嘗試在具有不同證書的相同包中必須上課的問題,這在十年內還沒有被允許。有可能您有重複的類文件,並且它們按不同的順序加載。 – 2011-01-13 14:38:24

+0

(哦,混合代碼只適用於PlugIn/WebStart。) – 2011-01-13 14:58:10

回答

2

有趣的鏈接一個類似的問題。我還沒有問題 - 但可能是因爲您在Java應用程序中的JavaEE容器類路徑中有「org.apache ...」的jar。

尋找並測試從網絡應用程序中刪除它