gpt4 book ai didi

java - 在 maven jaxb codegen 期间将 DTMManagerDefault 转换为 DTMManager 的 ClassCastException

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:25 24 4
gpt4 key购买 nike

在尝试运行使用 jaxb2 插件执行 JAXB 代码生成的 Maven 构建时,我遇到了一个奇怪的问题(请参阅下面的堆栈跟踪)。我能想到的最好的是,有一些 DTMManager 的实现是从与 xalan-2.7.1 中不同的 JAR 加载类的;但是,我已经验证用于运行 jaxb:generate 目标的类路径只有一个包含 DTMManager 或 DTMManagerDefault 的 xalan-2.7.1.jar - 所以我不知道还有什么可能会阻碍.

最后一个数据点:我们的构建指定了一个“快照”配置文件,它实际上仅用于将源代码 JAR(使用 maven-source-plugin)并将它们发布为工件。我在上面描述的失败场景发生在除了默认配置之外还指定了此配置文件时。

我在 Linux x64 (Fedora 13) 上使用在 Sun 的 64 位 JDK 1.6.0_21 上运行的 Maven 2.2.1 - 请参阅下面的堆栈跟踪以获取“mvn -v”信息。

关于问题可能是什么和/或如何着手调试它的任何想法?在过去的几天里,这一直让我感到悲伤,现在它阻碍了进展:(

java.lang.ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault cannot be cast to org.apache.xml.dtm.DTMManager
at org.apache.xml.dtm.DTMManager.newInstance(DTMManager.java:137)
at org.apache.xpath.XPathContext.<init>(XPathContext.java:102)
at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:207)
at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:281)
at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:224)
at com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap(Internalizer.java:289)
at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:134)
at com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internalizer.java:96)
at com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.java:448)
at com.sun.tools.xjc.ModelLoader.buildDOMForest(ModelLoader.java:342)
at com.sun.tools.xjc.ModelLoader.loadXMLSchema(ModelLoader.java:374)
at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:167)
at com.sun.tools.xjc.ModelLoader.load(ModelLoader.java:113)
at org.jvnet.jaxb2.maven2.XJC2Mojo.runXJC(XJC2Mojo.java:1119)
at org.jvnet.jaxb2.maven2.XJC2Mojo.execute(XJC2Mojo.java:720)
...

mvn -v:

# mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-06 14:16:01-0500)
Java version: 1.6.0_21
Java home: /usr/java/jdk1.6.0_21/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "2.6.33.3-85.fc13.x86_64" arch: "amd64" Family: "unix"

最佳答案

解决方案是在类路径中搜索对 Xalan 和 xercesImpl 的所有依赖项。应排除这些依赖项。

已更新

我找到了这样的答案 - 请参阅 http://www.mail-archive.com/dev@qpid.apache.org/msg07295.html

Had a look at this closely and figured it was due to a classpath class
due to Sun bundling an older version of Xalan jar.
I have disabled this test until we come up with a decent solution.

Rajith

关于java - 在 maven jaxb codegen 期间将 DTMManagerDefault 转换为 DTMManager 的 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com