2013-07-09 36 views
1

當我們在WebLogic 10.3.5中開始使用JPA時,偶爾會注意到以下異常。大約有一半時間我們會啓動服務器,任何JPA調用都會導致錯誤,另一半時間沒有問題。WebLogic中的Xerces ClassCastException

java.lang.ClassCastException: org.apache.xerces.parsers.StandardParserConfiguration不能轉換 到org.apache.xerces.xni.parser.XMLParserConfiguration 「而 試圖確定的版本發生」 myPersistenceXmlFileHere.xml」

裏面我們的耳朵是沒有問題使用的項目(非JPA)的其他部分xercesImpl JAT。我懷疑問題是簡單地從WebLogic實現罐子干擾。

更新:(重新)在Eclipse中部署似乎重現此問題,無論在下面的答案設置。一旦異常出現一次,它不會解決,唯一的解決方案是重新啓動服務器實例。

回答

1

在我們的weblogic-application.xml中,我們通過反覆試驗添加了以下內容。我們現在沒有任何ClassCastExceptions,因爲在這種情況下本地jar應該優先。

<wls:prefer-application-packages> 
    <wls:package-name>org.eclipse.persistence.*</wls:package-name> 
    <wls:package-name>org.apache.xerces.xni.parser.*</wls:package-name> 
    <wls:package-name>org.apache.xerces.parsers.*</wls:package-name> 
    <wls:package-name>org.apache.xalan.*</wls:package-name> 
</wls:prefer-application-packages>