Ich habe ein Projekt, wo ich mit einer Reihe von Klassen von JAXB von einem XSD generiert arbeiten möchte. Mit diesen Klassen möchte ich aus XML und JSON Marshall/Marshall machen.jaxb.properties fehlt zur Laufzeit, wenn mit Maven
Ich habe herausgefunden, dass ich Moxy Eclipselink brauchen würde, um zu tun, was ich brauche. Ich testete meine Klassen und Prozesse als ein Ant-Projekt, dann entschied ich, es für eine bessere Verwaltung nach Maven zu verschieben.
Die Datei jaxb.properties scheint zur Laufzeit jedoch nicht erkannt zu werden.
Mein Projekt verfügt über ein Maven-Artefakt für die Objekte und ein weiteres Artefakt für die Logik/Verarbeitung. Ich habe mir die Haare ausgezogen, um herauszufinden, wo ich die jaxb.properties platzieren kann, damit sie gelesen werden können.
I
Objekte Projekt
/src/main/resources/jaxb.properties
/src/main/java/[namespace]/jaxb.properties
Logic Projekt
/src/main/resources/jaxb.properties
/src/main/java/[namespace]/jaxb.properties
jedoch versucht haben, wenn ich versuche, den Klassennamen meiner JAXBContext zu bekommen ich noch bekommen:
class com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl
Wenn ich meine laufen Einstellungen ändern, indem Sie eine JVM-Option zu spezifizieren:
-Djavax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
ich:
class org.eclipse.persistence.jaxb.JAXBContext
In beiden Projekten ich dies in der pom.xml angegeben haben
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
Wenn ich sehe Im JAR sehe ich jaxb.properties drin.
Jetzt bin ich verwirrt.
Blaise, danke für die GitHub-Verbindung. Nachdem ich die Struktur des Ordners gelesen hatte, begann es wirklich Sinn zu machen. Ich habe jaxb.properties in das richtige Paket eingefügt, und es hat super funktioniert! –
Das war hilfreich für mich, ich habe ein Refactoring durchgeführt und die Modellklassen in meiner Anwendung verschoben, aber vergessen, die jaxb.properties zu verschieben. Die Paketstruktur muss exakt in der Ressourcenstruktur übereinstimmen. Meins war um ein Paket und alles kaputt. Dies ist ein sehr wichtiger Punkt. – Jon
Danke sooo viel. Das war auch mein Problem. Deshalb liebe ich stackoverflow. Also, viele tolle Leute mögen dich zu helfen! – atom88