如何在蚂蚁脚本中调用 Maven 目标?
是否可以在 Ant 脚本中调用或执行 Maven 目标?
假设我有一个名为“分发”的蚂蚁目标,在里面我需要从另一个pom.xml调用一个maven“编译”目标。
是否可以在 Ant 脚本中调用或执行 Maven 目标?
假设我有一个名为“分发”的蚂蚁目标,在里面我需要从另一个pom.xml调用一个maven“编译”目标。
由于没有一个解决方案对我有用,这就是我想到的:
假设您在 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>
使用从 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>