1

私は次のようなWebサービスプロジェクトを持っています:

  • には、手動で記述したJavaクラスがあり、プラグインsrc/main/precodeを使用してWSDLファイルを生成するために使用しています。cxf-java2ws-plugin
  • には、プラグインsrc/main/javaを使用してWSDLから生成する最終クラスがあります。cxf-codegen-plugin

問題は、WSDLを生成するには、コンパイルされたクラスが必要であると思われるcxf-java2ws-pluginため、コンパイルフェーズの後にプラグインを実行する必要があることです。したがって、cxf-codegen-plugin他のプラグインによって生成されたWSDLファイルが必要なため、コンパイルフェーズの後にも実行する必要があります。しかし、SEIをコンパイルするために(つまり、コンパイルフェーズの前に)、によって生成されたクラスが必要なので、cxf-codegen-plugin行き詰まります。

これを2つのプロジェクトに分割することを考えましたが、1つのプロジェクトソリューションを探しています。2回コンパイルする可能性があれば問題は解決すると思います。

ありがとう

4

2 に答える 2

0

プラグインを実行するたびに、phase宣言された順序で に追加されます。

pluginA:exectionA:compile
pluginC:exectionA:compile
pluginB:exectionA:compile

compileデフォルトの定義<sourceDirectory></sourceDirectory> (src/main/java )と の実行で を生成しますA, C and B

プラグインの宣言の直後にmaven-compiler-plugin適切な<configuration>inを使用して の実行を追加するだけです (これは にもバインドされています)。compilecxf-java2ws-plugincompile

ディレクトリを次の場所にpom.xml追加します。

<sourceDirectory></sourceDirectory>
Element : sourceDirectory
3.0.0+
This element specifies a directory containing the source of the 
 project. The generated build system will compile the source in 
 this directory when the project is built. The path given is 
 relative to the project descriptor.`

を構成することもできますcompiler plugin

于 2012-08-08T10:56:55.380 に答える