まず第一に、Apache cxf を使用してそのビルドを行います。これは、複数の WSDL を同時に処理でき、はるかに最新であるためです。それははるかに効率的で、より良いクラスを生成します。第二に、WSDL ファイルが大幅に変更されない限り、心配する必要はありません。代わりに、それらを別のアーティファクトに入れて一度ビルドしてから、それらを独自のアーティファクトとしてプロジェクトにインポートします。そのアーカイブで生成されない唯一のものは、エンドポイントをテストするためのテスト コードです。ビルドに関しては、私が使用して大成功を収めた Maven プラグイン構成を以下に貼り付けます。
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${apache.cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated-sources/</sourceRoot>
<defaultOptions>
<catalog>${wsdlDir}/jax-ws-catalog.xml</catalog>
<bindingFiles>
<bindingFile>${wsdlDir}/jaxb-bindings.xml</bindingFile>
<bindingFile>${wsdlDir}/jaxws-bindings.xml</bindingFile>
</bindingFiles>
<noAddressBinding>true</noAddressBinding>
<extraargs>
<extraarg>-client</extraarg>
<extraarg>-xjc-Xbug671</extraarg>-->
<extraarg>-xjc-mark-generated</extraarg>
</extraargs>
</defaultOptions>
<wsdlOptions>
<wsdlOption>
<wsdl>${wsdlDir}/cis.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.cxf.xjcplugins</groupId>
<artifactId>cxf-xjc-bug671</artifactId>
<version>${apache.cxf.xjc.version}</version>
</dependency>
</dependencies>
</plugin>
これは 1 つの WSDL のみから生成するように設定されていますが、より多くの WSDL を簡単に追加でき、私は他の状況でそうしました。