2011-09-09 151 views
1

我有兩個maven項目,比如說A和B,只是A需要B,反之並不正確。從eclipse打包A時沒有問題。在項目A的「pom.xml」中,在B上有一個依賴關係節點。在jenkins中,我通過添加三個目標來配置項目B,即「清理軟件包安裝」。因此,只要B的構建完成,就必須在我的本地Maven存儲庫中存在B的存檔文件(我檢查了它)。另一方面,當我構建項目A時,出現了許多編譯錯誤「找不到符號x」。什麼可能是問題,有什麼想法?jenkins構建項目時的maven依賴關係問題

在此先感謝。

回答

1

只是爲了確保:你看着~jenkins/.m2/repository/,是嗎?

請注意,install總是包含package,所以clean install就足夠了。

但問題在別處。

  1. 檢查版本是否相同。在A的依賴關係中使用確切的版本號,而不是版本範圍,以確保它的選擇(否則,Maven可能會找到一個「更適合」的版本)。

  2. 如果依賴不存在,Maven將無法啓動編譯器(因爲構建類路徑會失敗)。所以問題不在於JAR文件,而在於內容。確保B的JAR文件確實包含您期望的內容(jar tvf是您的朋友)。

  3. 刪除Jenkins服務器上的存儲庫以確保那裏沒有舊垃圾。

+0

非常感謝你的有趣的亞倫。我發現你在2(jar文件的內容)中陳述的問題:在配置jenkins之前,我將B的源文件複製到SVN(第一次,我一直在本地開發)。但是,我誤以爲主要和考驗。當我將文件夾結構更正爲src/main和src/test時,與構建項目A相關的問題已消失。 –