Ich kompiliere mein Programm gegen javaee-api. Aber für Junit-Tests muss ich eine spezielle Implementierung wie javaee.jar von Glassfish verwenden, um Fehler wie java.lang.ClassFormatError: Fehlendes Code-Attribut in einer Methode, die nicht nativ oder abstrakt ist, in der Klassendatei javax/persistence/Persistence (siehe auch 1 ).
Um die Verwendung von Methoden zu vermeiden, die nur in der Glassfish-Implementierung verfügbar sind, möchte ich mein Artefakt mit der allgemeinen API kompilieren, aber Junit mit dem Implementierungs-Jar ausführen. Aber beide bieten gleich benannte Klassen und Inferfaces, so dass der Klassenlader in Schwierigkeiten gerät.
Wie lässt sich dieses Problem am besten lösen? Kann ich dieses Problem mit Maven lösen?
Herzlichen Dank!