我在构建文件中使用mvn-ant-task
来清理和安装Maven项目。
以下是我做的配置
<project name="maven-project"
default="default"
xmlns:artifact="antlib:org.apache.maven.artifact.ant">
在目标中,我添加了类似的东西
<target name="CleanInstall">
<echo message="Building the project using maven and skipping tests if any in ${RepoFolder}" />
<artifact:mvn pom="${GIT_REPO_HOME}\${RepoFolder}\pom.xml">
<arg value="clean:clean" />
</artifact:mvn>
<artifact:mvn pom="${GIT_REPO_HOME}\${RepoFolder}\pom.xml">
<arg value="install:install -DskipTests=true" />
</artifact:mvn>
</target>
当我运行此版本时,clean
正在正确处理,但我无法在安装插件中发送参数skipTests
。
还有其他方法可以从Ant执行Maven命令吗?我也试过
<exec command="mvn install -DskipTests=true" dir=""${GIT_REPO_HOME}\${RepoFolder}\pom.xml"/>
在下面给出错误时失败
C:\ Users \ sharath \ Desktop \ devsetup \ build.xml:102:执行失败: java.io.IOException:无法运行程序“mvn”(在目录中 “D:\ sbhaskara \ GIT \ connectmodel”):CreateProcess error = 2,系统 找不到指定的文件
答案 0 :(得分:0)
您没有正确构建任务的参数,它应该是:
<target name="CleanInstall">
<echo message="Building the project using maven and skipping tests if any in ${RepoFolder}" />
<artifact:mvn pom="${GIT_REPO_HOME}\${RepoFolder}\pom.xml" >
<arg value="-Dmaven.test.skip=true" />
<arg value="clean" />
<arg value="install" />
</artifact:mvn>
</target>
即。每个参数必须位于其自己的<arg>
标记中。请注意,我在单个任务中将所有对Maven的调用都折叠了。