Aquí es un pequeño ejemplo de lo que me gustaría lograr:distribuir archivos XSD a través de múltiples artefactos Maven
Maven Artefacto A es uno de los muchos servicios web y define un esquema XSD con definiciones para solicitudes y respuestas. (src/main/resources/xsd)
El artefacto A depende del Artefacto B que es un proyecto JAR simple y contiene una multitud de de Master XSD con descripciones de tipo de nivel bajo. (Src/main/resources/xsd)
Los XSDs en Artefacto Un usan las definiciones de tipos (incluyen) que se especifican una vez en Artefacto B.
Si es posible me gustaría saber cómo incluye archivos xsd que se encuentran en un jar que se carga como una dependencia maven y cómo resolver el servicio web xsd (y wsdl) en IDE como Netbeans y Eclipse.
Si este enfoque parece exótico, ¿existen mejores prácticas para un diseño limpio?
actualización
En primer lugar aquí es un ejemplo sencillo de cómo yo esperaría que el esquema incluye a trabajar ....
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
Parece que hay varios sollutions para un problema como este, pero no sé cómo implementarlos en mi entorno:
Conozco los Resoltores de Catálogo integrados en el (IDE de netbeans7.1) (para entorno dev) y disponibles como Complementos Maven (para entorno productivo), th at debería poder especificar un alias en la ubicación del archivo de esquema. Este alias se debe usar como la ubicación del esquema.
Sin embargo, no sé cómo especificar un Catalog.xml que acceda a los esquemas dentro de un archivo JAR. Para mí, parece ser el mismo problema que especificarlo en la ubicación del esquema directamente. También existe la sobrecarga de mantener el catálogo para cada WAR - proyecto que prefiero no tomar si es posible.
En cuanto al complemento Maven, aún no he encontrado nada definitivo.
Otros sources están poniendo en práctica un dispositivo de resolución catálogo personalizado en el contexto de JAX-b, pero todavía no puede ver una posible gancho para la implementación de una resolución de este tipo en un entorno Java-WS, y cómo se debe trabajar en conjunto con el maven-plugin mencionado anteriormente o el IDE Catalog resolver ...
Todavía no tenía tiempo para comprobar su solución, pero como suena muy razonable y la recompensa se agotará pronto, tomaré esto como la respuesta correcta. ¡Gracias! – elfwyn
@Stefan - Gracias y deja un comentario aquí si tienes un problema y lo solucionaremos. – HDave
Si vincula esto a 'initialize', a veces el directorio' target' aún no existirá. También he tenido grandes problemas (en Eclipse, pero también usando 'mvn: compile') con el temido' la fuente no debe ser un directorio' de 5 años de error en maven. +1 de todos modos, ya que es la solución más limpia. – artbristol