2013-07-22 329 views
0

現在,我有一個在我的Windows計算機上運行良好的項目。但是,在將其複製到Linux計算機後,編譯時會報告以下錯誤:Maven無法解決依賴關係

無法執行項目警告的目標:無法解析項目com.cloud.ras的依存關係:警報。

爲com.external的POM:共享記錄中:jar:1.0.4.1缺失,不依賴現有的資料 的com.external的POM:freemarker的:罈子:可用2.3.4缺失,沒有依賴信息 缺少com.external:log4j:jar:1.2.14的POM com.soa.lib:eBoxServiceCommon:jar:2.5.3的POM缺失,沒有可用的依賴信息

但我已經將這些jar複製到了maven倉庫。誰能給我一個幫助?

+0

如果你(似乎)知道諸如'commons-logging'之類的外部依賴的版本,爲什麼不依賴它們;現在看起來你引入了'com.external'的假'groupId',或者我看到錯誤了嗎? 「複製...到...存儲庫」是什麼意思?你有公司存儲庫嗎,是在你的POM中還是在Linux的'settings.xml'中配置的?還是你提到你的本地存儲庫,不是不可能的,但毛茸茸的? –

回答

0

您不應該首先複製JAR。這是Maven的工作來解決你的依賴。

如果您解釋爲什麼您需要使用自己的groupId(例如, com.external,即commons-logging來自Apache,但您使用com.external作爲其groupId

如果你真的堅持要使用自己的groupId,至少要下載JAR並使用Maven進行安裝。看到這裏: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

+0

想要擊中原來的海報有一些感覺:)想要downvote這不真的回答了很多問題:) –

+0

好吧,我已經解決了這個問題。問題是,在Windows計算機上編譯項目時,它使用一些已下載到本地存儲庫的存儲庫。如果我清理本地存儲庫並再次編譯該項目,它也會失敗。但是,當我將它編譯到我的Linux計算機上時,由於本地存儲庫中沒有相關的存儲庫,所以它失敗了。最後,根本原因是pom文件不正確。 – Bryant