2012-07-31 74 views
0

我嘗試了幾種方法將ant和junit安裝在與hudson相同的服務器上。我最終下載了Ant源代碼,使用包含的fetch.xml文件安裝了可選的依賴項,構建了源代碼,並將junit-4.8.1.jar放入了lib目錄,在那裏編譯的ant代碼[我剛剛構建]是。然後,我使用「export ANT_HOME =/usr/share/ant」命令將ANT_HOME設置爲ant根目錄。我還設置了一個具有相同值(/ usr/share/ant)的Hudson配置變量「ANT_HOME」,並且還使用導出ANT_HOME命令將新文件放入/etc/profile.d目錄。在這一點上我不知道什麼嘗試,但仍然哈德森給我的錯誤:「未找到JUnitTask」錯誤(Hudson,Ant,JUnit)

BUILD FAILED /var/lib/hudson/jobs/MyProject/build.xml:31: Problem: failed to create task or type junit Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found. This looks like one of Ant's optional components. Action: Check that the appropriate optional JAR exists in -/usr/share/ant/lib -/var/lib/hudson/.ant/lib -a directory added on the command line with the -lib argument

Do not panic, this is a common problem. The commonest cause is a missing JAR.

This is not a bug; it is a configuration problem

我沒有,其實,檢查在/ usr /共享/螞蟻/ lib和類「org.apache .tools.ant.taskdefs.optional.junit.JUnitTask.class」位於螞蟻JUnit的jar文件我確認通過運行以下命令:jar tfv ant-junit.jar | grep org.apache.tools.ant.taskdefs.optional.junit.JUnitTask

有人能告訴我什麼嘗試,我不知道從這往哪兒走。

回答

0

如果你在Ubuntu上,你可以簡單地apt-get ant;我做到了這一點,並鏈接到我的項目中的junit jar。

乾杯,

尼爾

+0

你是什麼意思「鏈接到我的項目中的junit jar」?你在談論你的哈德森項目嗎?如果是這樣,你改變了什麼設置?否則,你的意思是在你的ant build.xml腳本中? (如果是這樣,請說明你做了什麼)。我嘗試了各種東西,包括類路徑條目等 – KyleM 2012-08-01 15:00:13

+0

順便說一句,我沒有在Ubuntu上。我在centOS上。當你說「連接到junit jar」時,你的意思是ant-junit.jar,對吧?由於junit.jar不包含我提到的類。不管怎樣,謝謝。 – KyleM 2012-08-01 15:02:17

0

事實證明,哈德森本身安裝的Ant的一些版本在自己的圖書館之一。我想這會導致衝突,因爲當我擺脫它時,事情就會奏效。我認爲它在/ var/hudson或/ var/hudson/lib中。在哈德森安裝過程中,該路徑會添加到PATH環境變量中。因此,您的選擇是將您自己的Ant安裝添加到路徑的BEGINNING,刪除Hudson的Ant版本,或刪除PATH的那部分。