如何使用Maven调用Ant Build

时间:2012-04-26 19:01:58

标签: php maven ant

我有许多php项目的子模块,它们使用ANT运行[它只是复制文件并运行SQL]。

现在我需要实施Maven来处理未来的单元测试+ [Maven是我们未来需要使用的最佳工具。]

我在Eclipse中安装了Maven for php。我在IDE中使用Maven创建了一个新项目。我也可以运行项目。 [我是Maven的小伙子,但对ANTs]

很好

现在我想使用Maven项目调用那些子模块ANT的xml。 ANT RUN可以为maven提供技巧,但我无法:

  • 弄清楚如何在Maven项目之外引用模块'ANT xml
  • Ant只是链接XML就可以完成这项工作?或者我需要更多的依赖项?

2 个答案:

答案 0 :(得分:0)

您可以在Maven Ant Run插件的ant配置元素中使用target任务。

答案 1 :(得分:0)

使用Maven ant runner plugin使用ANT的subant任务调用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] ------------------------------------------------------------------------