6

Ant によってビルドされた Java アプリケーションを Maven2 に移行しようとしています。とりわけ、ビルドは次の操作を実行します。

  1. javadoc ドックレットを実行して、注釈付き Java ファイルを検索し、後で Web サービスとして外部化する

  2. ステップ 3 のコードの一部をコンパイルします。

  3. ステップ 2 でコンパイルしたコードに対して Axis java2wsdl を実行します。

  4. ステップ 3 の WSDL ファイルで wsdl2java を使用して Java コードを生成します。

  5. コード全体をコンパイルする

プロセスを「マベナイズ」しようとすると、一度に各タスクを達成できますが、すべてをその順序で達成することはできません。

私のpomをデモンストレーションし、詳細をロードしないために、次のスニペットを示します。

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.6.1</version>
        <executions>
            <execution>
                <id>aggregate</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>aggregate</goal>
                </goals>
                <configuration>...</configuration>
            </execution>
        </executions>
    </plugin>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.1</version>
        <executions>
            <execution>
                <id>compileWSfiles</id>
                <goals>
                    <goal>compile</goal>
               </goals>
               <phase>generate-sources</phase>
                <configuration>
                    <includes>
                        <!-- include 3 source files -->
                    </includes>
                </configuration>

            </execution>
        </executions>
      </plugin>
          <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>axistools-maven-plugin</artifactId>
        <version>1.3</version>
        <dependencies>
          <dependency>
                <groupId>axis</groupId>
                <artifactId>axis</artifactId>
                <version>1.3</version>
          </dependency>
        </dependencies>
        <executions>
            <execution>
                <id>java2wsdl</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>java2wsdl</goal>
                </goals>
                <configuration>...</configuration>
            </execution>

             <execution>
                <id>wsdl2java</id>
                <phase>generate-sources</phase>
                                    <goals>
                                           <goal>wsdl2java</goal>
                                    </goals>
                                    <configuration>...</configuration>
                            </execution> 
        </executions>
    </plugin>
</plugins>

主な問題は、物事の順序を制御できないことです。すべてのステップ出力が次のステップ入力であるため、ここでは明らかに重要です。

4

1 に答える 1

6

同じフェーズにバインドされたプラグインは、POM にリストされているのと同じ順序で実行する必要がありますが、これについて未解決の問題があります ( MNG-2258 )。関連する問題MNG-3719も参照してください (このコメントに特に注意してください)。あなたの場合、 MNG-3719の「チート」が可能だとは思わないので、Maven 2.0.8で試すことをお勧めします:(そして、回帰に直面しないように指を交差させてください。

于 2010-03-15T22:51:39.790 に答える