Używam wtyczki javenb2 maven jaxb2 do generowania klas Java, zbudowanych ze schematów w słoiku. Jednak nie jestem pewien, jak poprawnie zlokalizować te schematy z pliku powiązań. Jeśli wyodrębnię schematy ze słoika i upuść je w tym samym katalogu, co powiązania, wszystko jest w porządku. Jednak nie jest to praktyczne rozwiązanie długoterminowe.Wiązania JAXB do schematów w 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>
Nie jestem naprawdę pewien, jak użyć tej techniki wiązania SCB do odwoływania się do schematów wewnątrz sługi zależności dostarczonych przez maven, czy są przykłady? – user1234057
Opublikowałem powyższy przykład. Musisz określić prefiks przestrzeni nazw ('xmlns: po =" urn: po "') i użyć tego przedrostka w wyrażeniu scd ('scd =" x-schema :: po "' znaczy "adres schematu z docelową przestrzenią nazw z przedrostka 'po'"). Zobacz ten link: http://jaxb.java.net/guide/Using_SCD_for_customizations.html – lexicore
Nie bardzo wiemy, jak odwołać się do słoika z maven za pomocą tej metody, ale zaczekamy, aż wtyczka zostanie zaktualizowana. Dzięki za pomoc! – user1234057