Tôi đang sử dụng plugin javenb2 maven để tạo các lớp Java, được xây dựng từ các lược đồ trong một cái bình. Tuy nhiên, tôi không chắc chắn làm thế nào để định vị chính xác các lược đồ này từ một tệp kết buộc. Nếu Iextract các lược đồ từ các jar và thả chúng trong cùng một thư mục như các ràng buộc, tất cả là tốt. Tuy nhiên, đây không phải là một giải pháp thực tế lâu dài.Ràng buộc JAXB đối với các lược đồ trong một 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>
Tôi không thực sự chắc chắn làm thế nào để sử dụng kỹ thuật ràng buộc SCB này để tham khảo các lược đồ bên trong một bình chứa phụ thuộc được cung cấp, có các ví dụ không? – user1234057
Tôi đã đăng ví dụ ở trên. Bạn phải chỉ rõ tiền tố không gian tên ('xmlns: po =" urn: po "') và sử dụng tiền tố này trong biểu thức scd ('scd =" x-schema :: po "' có nghĩa là "địa chỉ lược đồ với không gian tên đích từ tiền tố 'po'"). Xem liên kết này: http://jaxb.java.net/guide/Using_SCD_for_customizations.html – lexicore
Chúng tôi đã không thực sự hiểu cách tham chiếu một bình maven với phương thức đó, nhưng chúng tôi sẽ chờ cho đến khi plugin được cập nhật. Cảm ơn đã giúp đỡ! – user1234057