Ecco un piccolo esempio di quello che vorrei realizzare:Distribuire file XSD su più Artefatti Maven
Maven Artefatto A è uno dei tanti Webservices e definisce uno schema XSD con definizioni per richieste e risposte. (src/main/resources/xsd)
L'artefatto A dipende da Artefatto B che è un semplice progetto JAR e contiene una moltitudine di XSD master con descrizioni di livello basso. (Src/main/risorse/xsd)
I XSD in Artifact A utilizzare le definizioni del tipo (comprendono) che sono specificati volta in Artifact B.
Se possibile mi piacerebbe davvero sapere come include i file xsd che si trovano in un jar che viene caricato come una dipendenza da Maven e come risolvere il webservice xsd (e wsdl) in IDE come Netbeans ed Eclipse.
Se questo approccio sembra esotico, esistono migliori pratiche per un design pulito?
aggiornamento
Prima ecco un semplice esempio di come mi sarei aspettato lo schema includono lavorare ....
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
Sembra che ci siano diversi sollutions per un problema come questo, ma non so come implementarli nel mio ambiente:
Conosco i Cataloghi Resolver incorporati nell'ID (netbeans7.1) (per ambiente di sviluppo) e disponibili come Plugin Maven (per ambiente produttivo), th dovrebbe essere in grado di specificare un alias nella posizione del file di schema. Questo alias dovrebbe quindi essere utilizzato come posizione dello schema.
Tuttavia non so come specificare un Catalog.xml che accede a schemi all'interno di un file JAR. Per me sembra essere lo stesso problema che specificarlo direttamente nella posizione dello schema. Inoltre c'è il sovraccarico di mantenere il catalogo per ogni WAR - progetto che preferirei non intraprendere se possibile.
Per quanto riguarda il plug-in Maven, non ho ancora trovato nulla di conclusivo.
Altro sources stanno attuando un sistema di risoluzione catalogo personalizzato nel contesto di JAX-b, ma non si può ancora vedere un possibile gancio per l'attuazione di un tale resolver in un ambiente Java-WS, e come dovrebbe funzionare in combinazione con il maven-plugin menzionato sopra o il resolver del catalogo IDE ...
Non avevo ancora tempo per controllare la tua solluzione, ma dato che suona molto ragionevole e la taglia si esaurirà presto prenderò questa come risposta corretta. Grazie! – elfwyn
@Stefan - Grazie e lascia un commento qui se hai un problema e ci lavoreremo sopra. – HDave
Se si associa a 'initialize', a volte la directory' target' non esiste ancora. Ho anche avuto grossi problemi (in Eclipse, ma anche usando 'mvn: compile') con il temuto' l'origine non deve essere una directory 'di 5 anni bug in maven. +1 in ogni caso poiché è la soluzione più pulita. – artbristol