2

ANTを使用して実行されるphpプロジェクトのサブモジュールがたくさんあります[ファイルをコピーしてSQLを実行するだけです]。

今、私は将来のユニットテストを処理するためにMavenを実装する必要があります+ [Mavenは、とにかく将来使用する必要がある最高のツールです。]

EclipseにMavenforphpをインストールしました。IDE自体でMavenを使用して新しいプロジェクトを作成しました。プロジェクトを実行することもできます。[私はMavenの初心者ですが、上手ANTsです]

ここで、Mavenプロジェクトを使用してこれらの劣モジュラANTのxmlを呼び出します。Mavenのトリックを実行するANTRUNがありますが、私はできません:

  • ANT xmlMavenプロジェクトの外部でモジュールを参照する方法を理解します。
  • Antは単にXMLをリンクするだけでうまくいくでしょうか?または、より多くの依存関係が必要ですか?
4

2 に答える 2

0

Maven ant runnerプラグインを使用して、ANTのサブアントタスクを使用してANTロジックを呼び出します

$ tree
.
|-- pom.xml
`-- src
    `-- main
        `-- ant
            |-- module1
            |   `-- build.xml
            `-- module2
                `-- build.xml

5 directories, 3 files

pom.xml

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.myspotontheweb.demo</groupId>
    <artifactId>demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <configuration>
                            <target>
                                <property name="src.dir" location="${project.build.directory}/../src"/>
                                <subant>
                                    <fileset dir="${src.dir}" includes="**/build.xml"/>
                                </subant>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

ANTは、Mavenビルドの「コンパイル」フェーズ中に実行するように構成されています。ANTロジックは、subantタスクを使用して外部ANTロジックを実行します。

実行例

$ mvn compile
..    
..
[INFO] --- maven-antrun-plugin:1.7:run (default) @ demo ---
[INFO] Executing tasks

main:

main:
     [echo] module1: hello world

main:
     [echo] module2: hello world
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.394s
[INFO] Finished at: Fri Apr 27 20:25:35 IST 2012
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
于 2012-04-27T19:33:02.547 に答える
0

MavenのAntRunプラグインのターゲット構成要素内でantタスクを使用するだけです。

于 2012-04-26T19:41:26.200 に答える