jaxb2 プラグインを使用して JAXB コード生成を行う Maven ビルドを実行しようとすると、奇妙な問題が発生します (以下のスタックトレースを参照)。私が把握できる最善の方法は、xalan-2.7.1 のものとは異なる JAR からクラスがロードされている DTMManager の実装があることです。ただし、jaxb:generate ゴールの実行に使用されるクラスパスには、DTMManager または DTMManagerDefault を含む xalan-2.7.1.jar が 1 つしかないことを確認しました。そのため、他に何が邪魔をしているのかわかりません。 .
最後のデータ ポイント: ビルドは「スナップショット」プロファイルを指定します。これは実際には、(maven-source-plugin を使用して) ソースを JAR 化し、アーティファクトとして公開するだけです。上記の障害シナリオは、デフォルトに加えてこのプロファイルが指定されている場合にのみ発生します。
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"