2010-07-24 92 views
0

我最近開始在我的一個Java Web應用程序項目中使用Maven2。現在我遇到了很多問題,有時候項目沒有明顯的原因就無法構建,然後當沒有任何項目完成時突然開始工作。或者有時我們的項目成員必須從他們的硬盤中刪除項目並從SVN再次下載項目。在Eclipse中Maven似乎有很多非常奇怪的錯誤,但是我想知道是否有可能解決這個問題的一些問題。我知道Maven2應該能夠獲得添加jar的依賴關係,但是當我在Eclipse中添加一個新的依賴項時,它在構建它時失敗,它說依賴關係丟失了。我如何讓maven自動下載這些缺失的依賴關係?我有Tuckey UrlRewrite Filter在使用,但公共倉庫只有舊版本的這種依賴,所以當我使用這個舊版本(3.1時,我需要3.2)。我怎樣才能將其包含到項目中?我們在這個項目中有很多程序員,因此設置本地存儲庫意味着我們所有的程序員都必須安裝本地存儲庫。Maven 2的問題

+0

當你說「我在Eclipse中添加新的依賴項」時,你的意思是在你的pom.xml中聲明它嗎? – 2010-07-24 17:35:21

+0

是的,我添加了對pom.xml的依賴關係,並且無法獲得該依賴關係的depdendecies .. – newbie 2010-07-24 17:36:41

+0

您可以驗證您的本地maven存儲庫緩存以查看是否包含了artifact pom.xml。您的本地mvn存儲庫是一個.m2文件夾,通常位於您的文件系統下的用戶文件下。如果沒有pom。xml文件,maven將無法找到您的工件的傳遞依賴關係。如果沒有包含,則刪除de文件夾,然後再次嘗試mvn編譯 – 2010-07-24 17:42:37

回答

2

現在我遇到了很多問題,有些時候項目無法建立,沒有明顯的原因,然後當沒有任何項目完成時突然開始工作。 (...)

好的,這個免費的咆哮有什麼意義?我使用Maven,並且我的構建是100%可重現的,爲了達到這個目的,我們有衆所周知的實踐。也許你只是沒有跟着他們。無論如何,如果你對它不滿意,我可以說什麼,不要使用它。

我已經認識到在Maven2應該能夠得到依存關係添加罐子,但是當我加入Eclipse的一個新的依賴,當我建立它,它說的依賴性缺少失敗。我如何讓maven自動下載這些缺失的依賴關係?

我想你誤解了,如果你沒有提供他們所需的信息,Eclipse將不會猜測Maven是如何協調添加的。必須通過手動編輯POM或使用m2eclipse嚮導來在POM中聲明依賴關係。

如果這是你所做的(如果誤解了這個問題),那麼請提供<dependency>聲明和確切的錯誤跟蹤。

我有Tuckey UrlRewrite過濾器在使用,但公共倉庫只有舊版本的這個依賴關係,所以當我使用這個舊版本(3.1時,我需要3.2)。我怎樣才能將其包含到項目中?我們在這個項目中有很多程序員,因此設置本地存儲庫意味着我們所有的程序員都必須安裝本地存儲庫。

這個問題已經被問了幾次,見例如Maven, how to add additional libs not available in repo,我建議兩個可能的解決方案(使用公司資源庫像Nexus"file-based" repository,前者的建議是一個長期的解決方案的首選之一)。