jaxb2-plugin を使用していくつかのクラスを生成し、JaxbContext の作成中にオブジェクト ファクトリに依存します。
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<id>Messaging</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packageName>com.abc.message</packageName>
<schemaIncludes>
<schemaInclude>abc/api/message/main.xsd</schemaInclude>
</schemaIncludes>
<bindingIncludes>
<bindingInclude>abc/api/message/binding.xjb</bindingInclude>
</bindingIncludes>
<schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
<bindingDirectory>${basedir}/src/main/resources/xsd</bindingDirectory>
<generateDirectory>jaxb2-generated-sources/messaging</generateDirectory>
<removeOldOutput>true</removeOldOutput>
<extension>true</extension>
<verbose>false</verbose>
<args>
<arg>-target</arg>
<arg>2.2</arg>
<arg>-Xequals</arg>
<!--arg>-XhashCode</arg-->
<arg>-Xlocator</arg>
<arg>-Xinheritance</arg>
<arg>-Xcopyable</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.6.0</version>
</plugin>
</plugins>
</configuration>
</execution>
</executions>
</plugin>
main.xsd にはインクルード スキーマがあります。以下のようなものです。
<xsd:schema .... >
<xsd:include schemaLocation="includeMe.xsd"/>
<xsd:element name="Job">
.....
</xsd:element>
</xsd:schema>
includeMe.xsd の内容:
<xsd:schema .... >
<xsd:element name="JobDef">
.....
</xsd:element>
</xsd:schema>
問題: JAXB がすべてのクラス (Job および JobDef) を適切に生成しているにもかかわらず、ObjectFactory には main.xsd で定義された create メソッドしか含まれていません。
質問: ObjectFactory を適切に生成して、生成されたすべてのクラスのメソッドを作成するにはどうすればよいですか?
ポインタはありますか?
カレプル