Eclipse Jakarta.ee PackageNotFoundException durch persistence.xml

Robertop

Bekanntes Mitglied
Hallo zusammen,

Ich bin gerade auf ein Problem in Eclipse gestoßen, wenn man in einem Maven-Projekt eine persistence.xml einbaut, die den https://jakarta.ee/xml/ns/persistence verwendet.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="https://jakarta.ee/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
             version="3.0">
</persistence>

Es erscheint dann, wenn man ein Maven Update durchführt, die Fehlermeldung, dass das Package 'https://jakarta.ee/xml/ns/persistence' nicht gefunden werden konnte. Nachdem man die Meldung wegdrückt kommt dann die Meldung, dass "ReferencedComponentXMIResourceImpl" nicht zu "JptXmlResource" gecastet werden konnte, was aber denke ich ein Folgefehler des ersten Problems ist.

Der Fehler scheint bereits bekannt zu sein und ist im Eclipse-Bugzilla dokumentiert:

Das Problem ist, dass da mehr oder weniger nur steht, dass es sich um ein m2e Problem handelt und der Bugersteller diesen Bug im m2e posten will. Leider gibt es keinen Link oder ähnliches zu dem Bug, der da angeblich gepostet wurde. Eine Google Suche hat mich da laieder auch nicht weiter gebracht. Weiss hier jemand, wie ich diesen Bug beim m2e finden kann, um mal zu schauen, wie der Stand ist? Weil ich das Problem auch im aktuellen Eclipse 2024-03 M3 noch nachstellen kann, scheint da noch nichts passiert zu sein.
 

Oneixee5

Top Contributor
Schalte einfach die Validierung für XML-Dateien auf manuell (oder ganz aus). Wenn du den Fehler löschst oder ein Clean-Build machst, dann sollte der Fehler erst mal weg sein und nur wiederkommen wenn die Datei manuell Validiert wird.
Das verlinkte Ticket ist sinnlos, s. Kommentar vom Maintainer.
 

Robertop

Bekanntes Mitglied
Ich habe das jetzt ausprobiert und die Validierung bei XML abgestellt. Leider bekomme ich die Meldung immernoch jedes Mal, wenn ich mit Alt+F5 das Maven Projekt aktualisiere.

Ich habe diese Optionen umgestellt:

1. Preferences -> XML -> XML Files -> Validation -> "Referenced file contains errors" auf "Ignore" gesetzt
2. Preferences -> XML (Wild Web Developer) -> Validation & Resolution -> "Enable validation" deaktiviert

Gibt es noch andere Stellen, die ich übersehen habe?
 

Oneixee5

Top Contributor
Window -> Preferences -> Validation -> XML-Validator
Dort kann man auch Rules erstellen, für bestimmte Dateien etc. Bei Eclipse kann man alle Einstellungen im Projekt überschreiben. Wenn du also im Projekt eigene Einstellungen verwendest, dann musst du das dort machen.
Das Aktualisieren über 'Maven - Update Projekt' macht nur Ärger. Das mache ich nur wenn ich aus der Aufforderung nicht mehr raus komme. Dabei wird z.B.: die Datei .classpath jedes mal verändert. Dann kann es sein, das Projekte nicht mehr starten oder sich nicht mehr bauen lassen - obwohl das auf der Konsole oder im Jenkins geht. Dann hilft nur ein manueller Vergleich mit dem Git-Repo. Eclipse + Maven + Proxy - das ist die große Schwäche von Eclipse. Das ist einer der Gründe, warum wir mittlerweile fast alles mit VSCode machen.
 

Robertop

Bekanntes Mitglied
Window -> Preferences -> Validation -> XML-Validator
Den abzustellen ändert an der Meldung bei mir leider auch nichts.

Wir haben bei uns mit dem Maven Update Project genau andersrum Erfahrungen gemacht: Wenn das Projekt mal nicht mehr baut oder aus unerklärlichen Gründen nicht mehr startet, dann hilft das Maven Update Project, wieder alles in Ordnung zu bringen. 😅 Aber ich habe auch schon gehört, dass es zum Beispiel bei IntelliJ auch generell weniger Probleme beim Arbeiten gibt als mit Eclipse.

Ich werde jetzt mal in den Programmcode von dem Eclipse Plug-In schauen, dass den Fehler verursacht. Vielleicht werde ich daraus irgendwie schlau.
 

Oneixee5

Top Contributor
Du musst den Fehler wenigstens ein mal löschen -> rechte Maustaste. Von allein verschwindet der nicht. Das Abschalten der Validierung bewirkt lediglich, dass der Fehler nicht wiederkommt.
 

Neue Themen


Oben