【问题标题】:How to use skipTests option when using mvn-ant-tasks in ant在ant中使用maven-ant-tasks时如何使用skip Tests选项
【发布时间】:2015-10-16 21:55:44
【问题描述】:

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

【问题讨论】:

  • 嘿 Tunaki,非常感谢它的作用就像一个魅力。另一个小请求,现在遇到了 eclipse 目标的问题,详情如下

标签: maven ant


【解决方案1】:

您没有正确构建任务的参数,它应该是:

<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>

即每个参数必须在其自己的 &lt;arg&gt; 标记中。请注意,我将所有对 Maven 的调用都折叠在一个任务中。

【讨论】:

    猜你喜欢
    • 2020-11-14
    • 2012-11-24
    • 2013-01-12
    • 1970-01-01
    • 2011-04-13
    • 2015-01-07
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    相关资源
    最近更新 更多