2

我試圖將一個虛擬機參數傳遞給Maven,特別是一套由失敗保護運行的測試。虛擬機參數與maven-failsafe插件

我的pom.xml看起來是這樣的:

... 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <configuration> 
    <argLine>-Dtest.data=true</argLine> 
    </configuration> 
    <version>2.7.2</version> 
    <executions> 
    <execution> 
     <id>integration-test</id> 
     <goals> 
     <goal>integration-test</goal> 
     </goals> 
    </execution> 
    <execution> 
     <id>verify</id> 
     <goals> 
     <goal>verify</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
... 

當我運行依賴於test.data命令mvn clean verify測試被設置爲true失敗了。但是,當我運行命令mvn -Dtest.data=true clean verify時,測試全部通過。我需要在我的CI環境中爲pom設置參數。

我失去了一些東西在這裏?

由於提前,

皮特

+0

第一個建議是更新到Maven-FailSafe-Plugin 2.8。你是否要求JVM? – khmarbaise 2011-04-06 16:25:45

+0

我已更新到2.8,仍然無法正常工作。我如何知道我是否分叉JVM?我不相信我。 – Caps 2011-04-07 09:28:00

+0

默認說你是分叉的。 – khmarbaise 2011-04-07 12:08:34

回答

0

好吧,事實證明,我試圖運行的集成測試需要將此參數傳遞給Tomcat插件而不是Failsafe插件。謝謝你們的幫助!

+0

我看到同樣的問題,但因爲我不是使用Tomcat我無法通過這種方式修復它。 Finnaly我調整了我的Jenkins作業,並在Build部分指定: clean test -Dsun.net.http.allowRestrictedHeaders = true – Maksim 2016-07-15 15:25:17

2

使用<systemPropertyVariables>元素to set system properties(我看不出<argLine>的文檔,你在哪裏找到它提到?):

<configuration> 
    <systemPropertyVariables> 
     <test.data>true</test.data> 
    </systemPropertyVariables> 
</configuration> 
+0

我試過這個,但仍然無法正常工作。 在源代碼中,但我沒有檢查文檔。 – Caps 2011-04-07 09:28:54

+0

這裏是maven-failsafe-plugin的文檔:http://maven.apache.org/plugins/maven-failsafe-plugin/integration-test-mojo.html – khmarbaise 2011-04-07 12:08:13