Maven経由でwsdl2javaを実行しようとしていますが、いくつかの異なる方法を試しましたが、完全には成功しませんでした。私がそれをやっていた最初の方法:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>org.apache.axis.wsdl.WSDL2Java</mainClass>
<arguments>
<argument>-client</argument>
<argument>-o</argument>
<argument>gensrc</argument>
<argument>wsdl/JobAPIWebWrapped.wsdl</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
このバージョンは、org.apache.axis.wsdl.WSDL2Java への呼び出しにより、私が探している正確な構造を作成しますが、それを超えて他の Maven プラグインを続行することはありません。main などを実行してログを終了します。
私が試した他の方法:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>gensrc</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>wsdl/JobAPIWebWrapped.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
この実行の問題点は、以前の実行よりもはるかに多くの Java ファイルが生成されることです。この大きなファイルセットの互換性を確認したところ、正常に動作することがわかりましたが、最初の例と同じ Java クラスで強制的に実行する方法を見つけたいと考えています。ただし、このバージョンは完成し、maven によって呼び出される次のプラグインに進むことができます。
三番:
<plugin>
<groupId>org.apache.axis</groupId>
<artifactId>wsdl2java-maven-plugin</artifactId>
<version>1.4.1-SNAPSHOT</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<implementationClassName>org.apache.axis.wsdl.WSDL2Java</implementationClassName>
</configuration>
</execution>
</executions>
</plugin>
このバージョンは認識さえされていません...詳細ログでどこにも表示されないため、プラグインを間違って呼び出しているのではないかと思います。
私はかなり検索してきましたが、まだ成功した答えを見つけていません。最初の例を呼び出して次に進むことで、Maven セットアップを実行するシェル スクリプトを作成することに非常に近づいています。どんな助けでも大歓迎です。ありがとう。