Uso il plugin maven jaxb2 per generare classi Java, create da schemi in un jar. Tuttavia, non sono sicuro di come localizzare correttamente questi schemi da un file di bind. Se estrai gli schemi dal jar e li rilasci nella stessa directory dei binding, tutto va bene. Tuttavia, questa non è una soluzione pratica a lungo termine.JAXB Collegamenti a schemi in un JAR
pom.xml:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemas>
<schema>
<dependencyResource>
<groupId>com.test</groupId>
<artifactId>schemas</artifactId>
<version>1.10-SNAPSHOT</version>
<resource>schemas/schema.xsd</resource>
</dependencyResource>
</schema>
</schemas>
<bindingDirectory>bindings</bindingDirectory>
<generatePackage>test.package</generatePackage>
<bindingIncludes>
<include>*.xml</include>
</bindingIncludes>
<extension>true</extension>
</configuration>
</plugin>
bindings.xml:
<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb ./bindingschema_2_1.xsd"
version="2.1">
<jxb:bindings schemaLocation="classpath:/schemas/schema.xsd" node="/xs:schema">
<jxb:bindings node="//xs:complexType[@name='AbstractChangeable']">
<jxb:class implClass="com.test.AbstractEntity" />
</jxb:bindings>
</jxb:bindings>
Non sono veramente sicuro di come usare questa tecnica di collegamento SCB per fare riferimento a schemi all'interno di un vaso di dipendenza fornito da Maven, ci sono esempi? – user1234057
Ho pubblicato l'esempio sopra. Devi specificare il prefisso dello spazio dei nomi ('xmlns: po =" urn: po "') e usare questo prefisso nell'espressione scd ('scd =" x-schema :: po "significa" indirizzare lo schema con lo spazio dei nomi di destinazione dal prefisso 'po'"). Vedi questo link: http://jaxb.java.net/guide/Using_SCD_for_customizations.html – lexicore
Non abbiamo davvero capito come fare riferimento a un vaso di esperti con quel metodo, ma aspetteremo che il plugin venga aggiornato. Grazie per l'aiuto! – user1234057