2009-07-13 15 views
3

私はmaven cxf-codegen-pluginを使用してwsdlからJava Webサービスファイルを生成しています。 プラグインは、私は、デフォルトの出力ディレクトリ (ターゲット\生成され、ソース\ CXF)内のファイルを生成しようとしている場合は正常に動作し、 が、私は使用して他のディレクトリにそれらを生成しようとしている場合:CXF mavenプラグインが間違ったディレクトリにクラスを生成します

<sourceRoot>src/main/myOtherDir</sourceRoot> 
を私がしなければ私のpom.xmlで

、 ファイルがのみを生成されます。

mvn clean eclipse:eclipse 

私が行う場合

mvn eclipse:eclipse 

ファイルが生成されない「クリーン」なし...

誰か知っていますか?

マイポンポン:

 <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> 

おかげで、 アロン

答えて

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> 
1

まあ、私はとにかく

...私はWSDLを更新しなかったので、プラグインはファイルを生成しませんでした ...非常に恥ずかしい、問題を発見し、ApacheのCFXのドキュメントは、と述べています: CXF 2.1.4以降では、<phase>を指定する必要はありません。これは、generate-sourcesがデフォルトであるためです。

ご協力ありがとう

+0

このヒントのおかげで、私は同じ問題に陥った。ターゲットディレクトリを削除すると、それが再生成されます。 – ttt

関連する問題