2010-11-04 104 views
1

我試圖讓哈德森編譯我的Java項目,但它一直失敗。哈德森編譯與maven的回購

我已經開始了一個新的工作,以「建立一個自由風格的軟件工程」

我已經設置了SCM含汞,增加了構建步驟「MVN編譯」,把它發佈JUnit和JDepend結果。 JUnit測試報告簡單命名爲「* .xml」

回購作品的克隆,但回購拒絕編譯。我得到這個錯誤信息:

[workspace] $ /usr/local/bin/hg log --rev . --template {node} 
[workspace] $ /bin/bash -xe /tmp/hudson1162267116265588070.sh 
+ mvn compile 
/tmp/hudson1162267116265588070.sh: line 2: mvn: command not found 
Recording test results 
[JDepend] JDepend plugin is ready 
[JDepend] Starting JDepend file, outputting to /tmp/jdepend6348540211061861772.xml 
[JDepend] Found 2 classes in 1 packages 
Finished: FAILURE 

編輯:的mvn -ver

Java version: 1.6.0_21 
Java home: /usr/java/jdk1.6.0_21/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux" version: "2.6.32-25-generic" arch: "i386" Family: "unix" 

而且,我加入到我的/etc/bash.bashrc文件的結果。

export JAVA_HOME=/usr/java/jdk1.6.0_21 
export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1 
export M2=$M2_HOME/bin 
export MAVEN_OPTS="-Xms256m -Xmx512m" 
export PATH=$M2:$PATH 

export MAVEN_HOME=/usr/local/apache-maven/apache-maven-2.2.1 
export MAVEN=$MAVEN_HOME/bin 

而$ PATH回聲。

/usr/local/apache-maven/apache-maven-2.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/ bin:/ usr/games:/usr/java/jdk1.6.0_21/bin

+0

你可以運行「mvn -ver」,如果該命令失敗,這是Maven問題,而不是Hudson問題。 – Andy 2010-11-04 21:09:58

回答

1

John V的答案及其評論的基本部分。

它找不到maven,因爲它不在路徑中。如果你在Hudson的.profile中設置路徑,那麼你的運氣不好。該配置文件將僅針對登錄shell執行。 AFAIK,Hudson打開一個非交互式shell來執行構建步驟,因此.profile將不會被執行。

當您使用Hudson用戶帳戶登錄並運行maven命令時,您將不會有任何問題,因爲該配置文件已正確執行。