我必须添加
<prefer-web-inf-classes>true</prefer-web-inf-classes>
到weblogic.xml以解决与Weblogic的Hibernate antr兼容性问题。在添加之后,我得到了与XML解析器相关的所有不同类classCastException。
通过阅读其他主题,我了解到weblogic正在尝试使用与应用程序所期望的不同的类。
我花了一整天时间研究并尝试了不同的解决方案,例如删除“xml-apis .......”jar文件。但每次我得到ClassCastException。当我删除jar文件时,强制转换“from”类会改变,但我总是得到
ClassCastException: "some xml parser related class" can not be cast to javax.xml.parsers.DocumentBuilderFactory
有没有办法知道哪个xml解析器jar真正导致了这个问题。
我正在使用Maven 2来管理依赖关系
答案 0 :(得分:1)
回答我自己的问题:
我通过执行java搜索并搜索包并在“应用程序库”中检查搜索,从javax.xml。*包中删除了包含类的所有jar。然后我不得不删除sax..jar文件。一切都按预期发挥作用。
答案 1 :(得分:1)
回答你自己的问题。我也发现了这种方法(如果你使用maven),它会生成一个非常好的依赖图表。我有同样的问题,并使用依赖关系图我能够确定违规库xml-apis * .jar由maven作为jasperreports的依赖项加载。将排除元素添加到jasperreports模块的pom.xml中可以解决问题。
http://maven.40175.n5.nabble.com/where-is-xml-apis-1-0-b2-jar-coming-from-td88057.html