java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement bei hbci4java mit Java 11

 
fabfour
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 18
Dabei seit: 11 / 2018
Betreff:

java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement bei hbci4java mit Java 11

 · 
Gepostet: 02.12.2019 - 12:29 Uhr  ·  #1
Hallo,

ich habe das Problem, dass ich hbci4java mit java 11 nicht benutzen kann.
Code

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBElement
        at org.kapott.hbci.sepa.jaxb.pain_001_001_03.ObjectFactory.createDocument(ObjectFactory.java:345)
        at org.kapott.hbci.GV.generators.GenUebSEPA00100103.generate(GenUebSEPA00100103.java:151)
        at org.kapott.hbci.GV.generators.GenUebSEPA00100103.generate(GenUebSEPA00100103.java:43)
        at org.kapott.hbci.GV.AbstractSEPAGV.createSEPAFromParams(AbstractSEPAGV.java:296)
        at org.kapott.hbci.GV.AbstractSEPAGV.verifyConstraints(AbstractSEPAGV.java:348)
        at org.kapott.hbci.manager.HBCIDialog.addTask(HBCIDialog.java:496)
        at org.kapott.hbci.manager.HBCIHandler.addJobToDialog(HBCIHandler.java:324)
        at org.kapott.hbci.GV.HBCIJobImpl.addToQueue(HBCIJobImpl.java:1194)
        at org.kapott.hbci.tools.HBCIBatch.main(HBCIBatch.java:397)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 9 more

wenn ich versuche hbci4java mit maven zu bauen kommt folgendes als build message:
Code

...
[INFO] --- maven-jaxb22-plugin:0.14.0:generate (camt.052.001.07) @ hbci4j-core ---
[WARNING] The POM for org.glassfish.jaxb:jaxb-runtime:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.glassfish.jaxb:jaxb-core:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.glassfish.jaxb:txw2:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.glassfish.jaxb:jaxb-xjc:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
...

Schaut man sich das genauer an landet man hier:
Code

...
[WARNING] The POM for org.glassfish.jaxb:jaxb-runtime:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.glassfish.jaxb:jaxb-runtime:2.2.11
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @
...

Eine tools.jar gibt es bei Java 11 nicht mehr.

Kennt jemand das Problem und kann mir weiter helfen? Warum will hbci4java eigentlich die Version 2.2.11 wenn als maven dependency Version 2.3.1 angegeben ist?

Viele Grüße
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11386
Dabei seit: 03 / 2005
Betreff:

Re: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement bei hbci4java mit Java 11

 · 
Gepostet: 02.12.2019 - 15:05 Uhr  ·  #2
In älteren Java-Versionen (bis 8) war JAXB direkt in Java enthalten. In neueren musste es mittels VM-Parameter explizit aktiviert werden. Seit IMHO Java 11 ist es gar nicht mehr enthalten und muss daher als externe Abhängigkeit geladen werden. Konkret sind das

javax.xml.bind:jaxb-api:2.3.1
org.glassfish.jaxb:jaxb-runtime:2.3.1

Beide Abhängigkeiten sind online verfügbar:

https://mvnrepository.com/arti…-api/2.3.1
https://mvnrepository.com/arti…time/2.3.1

Warum das bei dir nicht funktioniert, weiss ich nicht.

Ich compiliere HBCi4Java mit Java 8. Da funktioniert das problemlos.
fabfour
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 18
Dabei seit: 11 / 2018
Betreff:

Re: java.lang.ClassNotFoundException: javax.xml.bind.JAXBElement bei hbci4java mit Java 11

 · 
Gepostet: 03.12.2019 - 11:16 Uhr  ·  #3
Ich habe jetzt leider auch keine Lösung gefunden auf die schnelle...
Ich hab wieder Java8 installiert und verwende das.

Viele Grüße
Gewählte Zitate für Mehrfachzitierung:   0