2015-10-16 34 views
0

我在構建文件中使用mvn-ant-task來清理和安裝Maven項目。如何在ant中使用mvn-ant-tasks時使用skipTests選項

下面是我做

<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中給出錯誤:\用戶\沙拉斯\桌面\ devsetup \的build.xml:102:執行失敗: 產生java.io.IOException:不能運行程序 「MVN」(目錄 「d:\ sbhaskara \ GIT \ connectmodel」):CreateProcess的錯誤= 2,系統 找不到指定的文件

+0

嘿Tunaki,感謝一個tot它像一個魅力。另一個小的請求,現在是有問題與日食的目標,詳細如下 –

回答

0

你沒有正確建立任務的參數, 一世T應當是:

<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的調用摺疊起來。

相關問題