Oto mały przykład tego, co chciałbym osiągnąć:rozpowszechniać pliki XSD na wielu artefaktów Mavena
Maven Artifact A jest jednym z wielu Webservices i definiuje schematu XSD z definicji dla żądań i odpowiedzi. (src/main/resources/xsd)
Artefakt A zależy od Artefaktu B, który jest prostym Projektem JAR i zawiera wiele XSD-ów z opisami typów niskopoziomowych. (Src/main/resources/XSD)
W XSD w Artifact A korzystając z definicji typu (to), które są określone raz w Artifact B.
Jeśli w ogóle możliwe, naprawdę chciałbym wiedzieć, jak dołącz pliki xsd, które znajdują się w słoiku, który jest ładowany jako zależność od maven i jak rozwiązać webservice xsd (i wsdl) w IDE takich jak Netbeans i Eclipse.
Jeśli to podejście wydaje się być egzotyczne - czy istnieją lepsze praktyki dotyczące czystego projektu?
aktualizacja
Pierwszy jest prosty przykład jak spodziewałbym schemat należą do pracy ....
Artifact A (WAR Module)
POM:
...
<artifactId>A</artifactId>
...
<dependency>
<artifactId>B</artifactId>
...
</dependency>
Schema:
....
<xs:include schemaLocation="classpath://net/elfwyn/xsd/schema.xsd"/>
....
Artifact B (JAR Module)
Schema Location:
src/main/resources/net/elfwyn/xsd/schema.xsd
Wydaje się, że kilka sollutions do problemu jak ten, ale nie wiem, jak je wdrożyć w moim środowisku:
Wiem o rozwiązaniach do rozpoznawania katalogów osadzonych w IDE (netbeans7.1) (dla środowiska dev) i dostępnych jako wtyczki Maven (dla środowiska produktywnego), at powinien być w stanie określić alias na lokalizacji pliku schematu. Ten alias powinien następnie zostać użyty jako lokalizacja schematu.
Jednak nie wiem, jak określić plik Catalog.xml, który uzyskuje dostęp do schematów wewnątrz pliku JAR. Dla mnie wydaje się, że jest to ten sam problem, co bezpośrednio w lokalizacji schematu. Istnieje również obciążenie związane z utrzymaniem katalogu dla każdego projektu WAR, którego raczej nie chciałbym podjąć, jeśli w ogóle jest to możliwe.
Jeśli chodzi o wtyczkę Mavena, to nie znalazłem jeszcze niczego rozstrzygającego.
Inne sources wdrażają resolverowi katalogowy zwyczaj w kontekście JAX-b, ale nie mogę jeszcze zobaczyć ewentualne hak do wdrożenia takiego rozpoznawania nazw w środowisku Java-WS, i jak to powinno działać w połączeniu z maven-plugin wspomniany wyżej lub resolver IDE Catalog ...
Nadal nie miałem czasu, by sprawdzić twoje rozwiązanie, ale ponieważ brzmi to bardzo rozsądnie, a nagroda wkrótce się skończy, wezmę to za poprawną odpowiedź. Dziękuję Ci! – elfwyn
@Stefan - Dzięki i zostaw komentarz tutaj, jeśli masz problem, a my przejdziemy przez to. – HDave
Jeśli wiążesz to z 'initialize', czasami katalog' target' jeszcze nie istnieje. Miałem również ogromne problemy (w Eclipse, ale także przy użyciu 'mvn: compile') z przerażającym' źródłem nie może być katalog '5-letniego błędu w maven. +1 mimo wszystko, ponieważ jest to najczystsze rozwiązanie. – artbristol