Das jaxb2-Vererbungs-Plugin erweitert keine Klasse in /src/test/javaJava

Java-Forum
Anonymous
 Das jaxb2-Vererbungs-Plugin erweitert keine Klasse in /src/test/java

Post by Anonymous »

Ich arbeite an einem Java/Maven-Projekt und verwende das jaxb2-Vererbungs-Plugin, um übergeordnete Klassen für von xjc generierte Java-Klassen zu definieren.
Ich habe dieses xsd:

Code: Select all















input.generation.common.IXmlHasListedElementsWithStartTime


input.generation.common.XmlAbstractTestThingWithListedElementWithStartTime




















input.generation.IHasStartTime








Es wird eine Klasse generiert Datum.
Hier ist das Problem: Wenn ich eine MVN-Neuinstallation für mein Projekt durchführe, schlägt der Prozess aufgrund von Kompilierungsfehlern in meiner IDE (Eclipse) fehl. Das Problem besteht darin, dass die generierte Klasse XmlTestThing ihre abstrakte übergeordnete Klasse XmlAbstractTestThingWithListedElementWithStartTime nicht finden kann. Es gibt keine Probleme, die Schnittstelle zu finden.
Eine Aktualisierung des Projekts zeigt jedoch lediglich, dass in Eclipse kein Kompilierungsproblem für src/main/java
Die zu erweiternde Klasse befindet sich in src/test/java.
Ich habe das ein wenig getestet und Folgendes herausgefunden:
  • Wenn die zu erweiternde Klasse in src/main/java ist, dann funktioniert alles
  • wenn die zu erweiternde Klasse in ist src/test/java, Eclipse kann es finden, aber Maven meldet einen Kompilierungsfehler, weil es nicht in der Lage ist, es von target/generated-test-sources zu finden.
Anscheinend kann Maven die Schnittstelle in /src/main/java finden, aber nicht die übergeordnete Klasse in /src/test/java. Oder haben target/generated-test-sources keinen Zugriff auf src/test/java?
Einige weitere Informationen:
Dies ist der Teil von pom.xml, der die Testressourcen anordnet:

Code: Select all


org.codehaus.mojo
build-helper-maven-plugin
3.4.0


add-test-source
generate-test-sources

add-test-source




${project.build.directory}/generated-test-sources/java/





und das ist die pom.xml-Konfiguration der Klassengenerierung:

Code: Select all

org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.15.3

src/test/resources
${project.build.directory}/generated-test-sources/java
true
false
true

-Xinheritance



org.jvnet.jaxb2_commons
jaxb2-basics
0.11.1





input

generate



testInput.xsd


testInput.xjb





Dieser xjb führt einige Präfixe für Klassennamen durch:

Code: Select all













Und dies wäre eine zu testende XML-Eingabedatei:

Code: Select all











Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post