3

私はantからmavenに移行しています。ただし、Maven にまだ適応させたくないプロセス Web リソース用のカスタム ビルド機能があるため (コストが非常に高い)、ant 実行プラグインを使用しています。

Ant タスクを呼び出してリソース ファイルの一部を処理したいと考えています。これは、「webapp リソースのコピー」ステップの後、フェーズ パッケージ内の「戦争の構築」ステップの前に行う必要があります。

フェーズが「パッケージ」のAntタスクを実行すると

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <ant antfile="${basedir}/build-resources.xml">
                                 <property name="runtime-classpath" refid="maven.runtime.classpath"/>
                            </ant>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>   

フォルダーの下のファイルに変更を加えることができtarget/myapp-webappます。ただし、 myapp-webapp.warant タスクが実行される前にビルドされるため、これらの変更はその war ファイルの一部にはなりません。

これを達成する方法はありますか?

4

1 に答える 1

3

maven-lifecycleを見てください!ant-task をprepare-packageフェーズまたはprocess-resourcesフェーズにバインドすると、タスクを達成できるはずです。

実行に ID を追加すると、コンソールで簡単に追跡できます。

...
<executions>
 <execution>
  <id>my-ant-processed-files</id>
  <phase>prepare-package</phase>
  ...

どのファイルに対してどのような処理を行っていますか?

于 2011-05-12T21:23:24.513 に答える