2013-04-26 66 views
7

我在CentOS上安裝Jenkins 1.512(信息如下),並配置它與apache-maven-3.0.4一起使用。全球MAVEN_OPTS似乎沒有與詹金斯

Linux server.masstermmind.com 2.6.32-358.2.1.el6.x86_64 #1 SMP Tue Mar 12 14:18:09 CDT 2013 x86_64 x86_64 x86_64 GNU/Linux 

我其實是試圖解決其中Maven的抱怨在pom.xml文件丟失jbossHome參數vaule問題。所以,我決定通過在Jenkins MAVEN_OPTS中放置-X選項來調試Maven。但它抱怨說,我把一個不正確的Java參數:

The -X options are non-standard and subject to change without notice. 

原來,詹金斯認爲我提出了一個Java的論點。後來我發現詹金斯產生的命令是這樣的:

/usr/java/jdk1.7.0_17/bin/java -X -cp在/ var/lib中/詹金斯/插件/ maven- plugin/WEB-INF/lib/maven3-agent-1.2.jar:/usr/share/apache-maven-3.0.5/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main/usr/share/apache-maven-3.0.5 /var/cache/jenkins/war/WEB-INF/lib/remoting-2.23.jar/var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3攔截-1.2.jar 35460

但我從運行mvn發現,它生成以下Java線,和「-X」被放置在t他正確地結束了。

/usr/java/jdk1.7.0_17/bin/java -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/usr /share/apache-maven-3.0.5/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /usr/share/apache-maven-3.0.5/var/cache/jenkins /戰爭/ WEB-INF/lib中/遠程-2.23.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar -X

莫非你有什麼辦法解決這個問題,或者這是一個Jenkins錯誤?

回答

10

AFAIU,這是一個詹金斯的正常行爲,把MAVEN_OPTSjava command。由於MAVEN_OPTS的用途是用戶變量中的環境變量,用於指定JVM屬性。

我建議你把-X參數放在Jenkins Maven Job本身。在Build ---> Goals and options處,您可以單擊文本框末尾的question mark link。它會給你以下幾點: -

指定執行的目標,如「全新安裝」「部署」此字段還可以接受任何其他命令行選項到Maven,如「-e」「-Dmaven.test.skip =真」

然後Build ---> Goals and options的合適值應該是類似clean install -X的東西。

我希望這可能有所幫助。

+0

嗨查理 - 非常感謝指針。按照你說的那樣,在Jenkins Maven Job中放置了-X之後,它就起作用了。非常感謝您的幫助! – 2013-04-27 18:04:38

+0

這是有效的。但是我們有1000個作業,並且它不是爲每個作業添加一些參數的有效解決方案......是不是有辦法爲Maven構建全局設置JVM屬性? – dokaspar 2016-09-12 13:22:24