2

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

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

我已经在 Eclipse 中安装了 Maven for php。我在 IDE 中使用 Maven 创建了一个新项目。我也可以运行项目。[我是 Maven 的菜鸟,但擅长ANTs]

现在我想使用 Maven 项目调用那些子模块 ANT 的 xml。有ANT RUN可以为 Maven 解决问题,但我无法:

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

2 回答 2

0

您可以在 Maven 的 Ant Run 插件的目标配置元素中简单地使用ant任务。

于 2012-04-26T19:41:26.200 回答
0

使用 Maven ant runner 插件调用 ANT 逻辑,使用 ANT 的subant任务

例子

$ 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 回答