Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Abandoned
-
12.0
-
None
-
MacOS Catalina Version 10.15.6, NetBeans 12, Java 14
Description
Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1
Ich habe NetBeans auf Version 12 aktualisiert. Meine Anwendung wurde in Java 8 erstellt. Ich verwende jetzt Java 14. Bis auf das hier läuft alles:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory] unter javax.xml.bind.JAXB.unmarshal(JAXB.java:171)
Ich habe viele Einträge in Google gefunden, aber ich kann keine Lösung finden. Dieser Fehler tritt nur auf, wenn ich in der NetBeans-Anwendung ausgeführt werde. Wenn ich meine Anwendung kompiliere und ausführe, funktioniert sie fehlerfrei.
Ich habe auch JAXB-api-2.3.1.jar heruntergeladen und zur Bibliothek hinzugefügt. Auch habe ich jaxb-api-2.4.0-b180830.0359.jar ausprobiert. Ohne Erfolg.
Aber wirklich verzwickt ist, wenn ich meine Anwendung im Terminal ausführe, bekomme ich diesen Fehler zusätzlich:
Ausnahme im Thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXB
Nur dort wird diese Class direkt gar nicht verwendet und kann auch nicht importiert werden.
Nur bei einem Klick auf [myApp].jar in meinem aktuellen Ordner läuft es ohne Fehler:
Vorerst habe ich eine Lösung gefunden, aber mit dieser WARNUNG:
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/Applications/NetBeans/Apache%20NetBeans%2012.0.app/Contents/Resources/NetBeans/netbeans/ide/modules/ext/jaxb/jaxb-impl.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
Dies erscheint, wenn ich diese JAXB 2.2.5.jar-Bibliothek verwende. Funktioniert aber nicht mit JAXB-Versionen wie oben beschrieben. Dann kommt der andere Fehler.
Meine Anwendung läuft jetzt mit 2.2.5, aber wie lange?
Tut mir leid, aber ich habe keine Ahnung, wie ich den Entwickler informieren kann. z.B. Sun oder Marven oder wer auch immer. Ich gebe zu, dass dieses Problem dort bekannt ist. Aber ich finde es schlimm, dass es noch nicht eingebaut ist.
Vielleicht kann sich euer Team darum kümmern. Danke im voraus. Horst