Frage

Ich bin ein seltsames Problem mit beim Versuch, ein Maven-Build ausführen, die die jaxb2 Plugin nutzt JAXB codegen zu tun (siehe stacktrace unten). Das Beste, was ich kann Figur ist, dass es einige Implementierung von dtmMANAGER, die aus einer anderen JAR als in xalan-2.7.1 geladen Klasse ist; aber ich habe festgestellt, dass der Classpath, die für den Betrieb des jaxb verwendet wird: erzeugen Ziel nur den einen xalan-2.7.1.jar hat, die eine dtmMANAGER oder eine DTMManagerDefault enthält - so habe ich keine Ahnung, was sonst in der Art und Weise könnte bekommen .

Ein letzter Datenpunkt: unser Build gibt an einem ‚Momentaufnahme‘ Profil, das wirklich nur dazu dient, auch die Quellen JAR up (mit maven-Source-Plugin) und veröffentlichen sie als Artefakte. Das Fehlerszenario ich oben beschrieben nur tritt auf, wenn das Profil zusätzlich zu dem Standard festgelegt ist.

Ich verwende Maven 2.2.1 läuft auf Sun 64-Bit-JDK 1.6.0_21 auf Linux x64 (Fedora 13) - vgl. Unter dem Stacktrace für die 'mvn -v' info

Alle Ideen, was das Problem sein kann und / oder wie man das macht das Debuggen zu gehen? Dies wurde so daß ich in den letzten paar Tagen Trauer und jetzt ist es Fortschritte blockiert: (

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"
War es hilfreich?

Lösung

Die Lösung ist für alle Abhängigkeiten von Xalan und xercesImpl im Classpath zu suchen. Diese Abhängigkeiten sollen ausgeschlossen werden.

Aktualisiert

fand ich eine Antwort wie diese - siehe 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

Andere Tipps

Um die xalan und xercesImpl Abhängigkeiten in Maven ausschließen:

    <dependency> <!-- ClassNotFoundException: org.jaxen.dom.DOMXPath -->
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.3</version>
        <exclusions>
            <exclusion>
                <artifactId>maven-findbugs-plugin</artifactId>
                <groupId>maven-plugins</groupId>
            </exclusion>
            <exclusion>
                <artifactId>maven-cobertura-plugin</artifactId>
                <groupId>maven-plugins</groupId>
            </exclusion>
            <!-- ClassCastException: org.apache.xml.dtm.ref.DTMManagerDefault -> org.apache.xml.dtm.DTMManager -->
            <exclusion>
                <artifactId>xercesImpl</artifactId>
                <groupId>xerces</groupId>
            </exclusion>
            <exclusion>
                <artifactId>xalan</artifactId>
                <groupId>xalan</groupId>
            </exclusion>
        </exclusions>
    </dependency>

Siehe auch https://community.jboss.org/wiki/FreeMarkerAndJBossAS7 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top