【问题标题】:ClassCastException in weblogic when using prefer-web-inf-classes使用 prefer-web-inf-classes 时 weblogic 中的 ClassCastException
【发布时间】:2012-01-17 03:49:03
【问题描述】:

我必须添加

<prefer-web-inf-classes>true</prefer-web-inf-classes>

到 weblogic.xml 以解决与 Weblogic 的 Hibernate antr 兼容性问题。添加后,我得到了与 XML 解析器相关的所有不同类型的 classCastException。

我从阅读其他线程中了解到,weblogic 正在尝试使用与应用程序所期望的不同的类。

我整天都在研究和尝试不同的解决方案,比如删除“xml-apis.......”jar 文件。但每次我得到ClassCastException。当我删除 jar 文件时,演员“来自”类发生了变化,但我总是得到 ​​p>

ClassCastException: "some xml parser related class" can not be cast to javax.xml.parsers.DocumentBuilderFactory

有没有办法知道是哪个 xml 解析器 jar 真正导致了问题。

我正在使用 Maven 2 来管理依赖项

【问题讨论】:

  • 我进行了 Eclipse 搜索并删除了所有包含“javax.xml.*”的 jar,当我删除了 xmlParser jar 文件时。我开始违反加载程序约束:解析方法时“javax.xml.parsers.DocumentBuilder.setEntityResolver

标签: java jakarta-ee maven xml-parsing weblogic


【解决方案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

【讨论】:

    【解决方案2】:

    回答我自己的问题:

    我通过执行 java 搜索和搜索包并检查“应用程序库”中的搜索,从 javax.xml.* 包中删除了所有包含类的 jar。然后我不得不删除 sax..jar 文件。之后一切都按预期进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      相关资源
      最近更新 更多