繁体   English   中英

在ant中使用mvn-ant-tasks时如何使用skipTests选项

[英]How to use skipTests option when using mvn-ant-tasks in ant

我在构建文件中使用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,系统找不到指定的文件

您没有为任务正确建立参数,应该为:

<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的调用折叠到一个任务中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM