3

私はmavencxf-codegen-pluginを使用してwsdlからJavaWebサービスファイルを生成しています。デフォルトの出力ディレクトリ(target \generated-sources \ cxf)にファイルを生成しようとしている場合、プラグインは正常に機能しますが、次を使用して他のディレクトリにファイルを生成しようとしている場合、プラグインは正常に機能します。

<sourceRoot>src/main/myOtherDir</sourceRoot>

私のpom.xmlでは、次の場合にのみファイルが生成されます。

mvn clean eclipse:eclipse

私が行った場合

mvn eclipse:eclipse 

'clean'がないと、ファイルは生成されません。

誰かが何か考えを持っていますか....?

私のpom:

        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <configuration>
                        <sourceRoot>src/main/myOtherDir</sourceRoot> 
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>src/main/resources/wsdl/AccountWS.wsdl</wsdl>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

ありがとう、アロン

4

2 に答える 2

3

sourceRoot をターゲット ディレクトリの下に設定することをお勧めします。これにより、他のコンテンツと一緒にクリーンアップされます。次に例を示します。

<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>

プラグインが常に実行されるようにするには、フェーズにバインドする必要があります。

<executions>
  <execution>
    <id>generate-sources</id>
    <phase>process-resources</phase>
    ...
    <goals>
      <goal>wsdl2java</goal>
    </goals>
  </execution>
于 2009-07-13T15:12:34.770 に答える
1

さて、私は問題を見つけました, 非常に恥ずかしい... wsdlを更新しなかったため、プラグインはファイルを生成しませんでした...

いずれにせよ、apache cfx のドキュメントには次のように記載<phase>されています。

ご協力いただきありがとうございます

于 2009-07-14T08:54:51.183 に答える