如何在蚂蚁脚本中调用 Maven 目标?

2022-09-01 06:26:32

是否可以在 Ant 脚本中调用或执行 Maven 目标?

假设我有一个名为“分发”的蚂蚁目标,在里面我需要从另一个pom.xml调用一个maven“编译”目标。


答案 1

由于没有一个解决方案对我有用,这就是我想到的:

假设您在 Windows 上运行:

<target name="mvn">
    <exec dir="." executable="cmd">
        <arg line="/c mvn clean install" />
    </exec>
</target>

或在 UNIX 上:

<target name="mvn">
    <exec dir="." executable="sh">
        <arg line="-c 'mvn clean install'" />
    </exec>
</target>

或者,如果您希望它同时在 UNIX 和 Windows 上运行:

<condition property="isWindows">
    <os family="windows" />
</condition>

<condition property="isUnix">
    <os family="unix" />
</condition>

<target name="all" depends="mvn_windows, mvn_unix"/>

<target name="mvn_windows" if="isWindows">
    <exec dir="." executable="cmd">
        <arg line="/c mvn clean install" />
    </exec>
</target>

<target name="mvn_unix" if="isUnix">
    <exec dir="." executable="sh">
        <arg line="-c 'mvn clean install'" />
    </exec>
</target>

答案 2

使用从 Windows CLI 运行的 Maven 的 exec 任务的示例如下:

<target name="buildProject" description="Builds the individual project">
    <exec dir="${source.dir}\${projectName}" executable="cmd">
        <arg value="/C"/>
        <arg value="${env.MAVEN_HOME}\bin\mvn.bat"/>
        <arg line="clean install" />
</exec>
</target>

推荐