Ich habe ein Maven-Projekt A mit einem /xsd/a.xsd in seinem Klassenpfad. Ich habe auch das Projekt B mit einer /xsd/b.xsd, die auf/XSD/a.xsd durch einen Katalogeintrag verweist. Der Katalogeintrag sieht wie folgt aus:Bearbeiten eines xsd mit importierten Schemas aus Abhängigkeiten in Eclipse
PUBLIC "http://foo.org/a" "maven:org.foo:a:jar::!/xsd/a.xsd"
Notiere die Maven-Protokoll in der URL. Der Katalog wird vom org.jvnet.jaxb2.maven2: maven-jaxb22-plugin verwendet, um die mit JAXB annotierten Java-Klassen mit Episoden aus Abhängigkeiten zu generieren.
Alles ist gut so weit.
Jetzt möchte ich /xsd/b.xsd in Eclipse bearbeiten. Eclipse-Bericht eine Warnung auf:
<xsd:import namespace="http://foo.org/a" />
, da es nicht die /xsd/a.xsd ohne schema Attribut finden. Eclipse erkennt den oben definierten Katalogeintrag nicht.
gefunden dieses Problem umgehen, einen Katalogeintrag in Eclipse/Window/Preferences/XML/XML-Katalog hinzuzufügen:
PUBLIC "http://foo.org/a" "jar:file:/home/alain/maven/repository/org/foo/a/1.0-SNAPSHOT/a-1.0-SNAPSHOT.jar!/xsd/a.xsd"
Hinweis der Verweis auf meinem lokalen Repository (Maven ist ein Link zu .m2) und eine bestimmte Version des abhängigen Projekts a.
Jeder, der dieses Problem erkannt und eine bessere Problemumgehung gefunden hat?
Mit dem gleichen Problem konfrontiert, aber keine bessere Problemumgehung gefunden. Es ist auch eine PITA, die man wegen des Punktes nicht direkt auf das .m2'-Verzeichnis verweisen kann. – eis