2011-03-07 130 views
3

我想建立Maven的彈簧MVC項目,我得到了以下錯誤:Maven構建錯誤

The following artifacts could not be resolved: org.aopalliance:com.springsource.org.aopalliance:jar:1.0.0, org.hibernate:hibernate-validator:jar:4.2.0.Beta1: Could not find artifact org.aopalliance:com.springsource.org.aopalliance:jar:1.0.0 in central (http://repo1.maven.org/maven2) 

我使用Eclipse和m2eclipse插件。我不知道如何添加本地存儲庫。而且我發現了不同版本的eclipse,結果是不同的。有些可以通過,有些可能會失敗。我很困惑。

順便問一下,我可以在哪裏找到m2eclipse中使用的maven版本?

謝謝先進。

更新:現在我能處理的Hibernate驗證,但即使我刪除了所有Spring MVC的依賴,我發現還有很多其他的庫都依賴於com.springsource.org.aopalliance, enter image description here

回答

1

由於您使用的是彈簧工件,因此您可以參考this doc。如果你在春天發佈的版本工作,你可以在你的settings.xml添加以下庫

<repository> 
     <id>com.springsource.repository.maven.release</id> 
     <url>http://maven.springframework.org/release/</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 

[編輯1:基於註釋]

aopalliance的的groupId /專案編號似乎表明它在spring enterprise bundle repository。這可從以下存儲庫url訪問此內容。

<url>http://repository.springsource.com/maven/bundles/release/</url> 

至於hibernate-validator,作爲beta版本,它可能在正常回購中不可用。它可從

<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url> 
+0

Thanks.But此方法不起作用,我仍然有錯誤:缺少神器org.aopalliance:com.springsource.org.aopalliance:jar:1.0。0:編譯,缺失神器org.hibernate:hibernate-validator:jar:4.2.0.Beta1:編譯 – Tom 2011-03-08 01:49:50

+0

@Tom。你可以在代理後面嗎?如果是這樣,你需要在你的settings.xml中添加代理部分,代理信息 – Raghuram 2011-03-08 01:58:43

+0

Raghuram,我不是代理後面,我沒有代理服務器。 – Tom 2011-03-08 02:17:52

1

的版本m2eclipse中使用的maven可以在Window-> Preferences-> Maven-> Installations中找到

看起來像在您的settings.xml或pom文件中定義的任何存儲庫中都找不到工件。嘗試加入sonatype repositories,他們有你要找的

在你的pom.xml文物,添加:

<project> 
    ... 
    <repositories> 
    <repository> 
     <id>sonatype repo</id> 
     <url>https://repository.sonatype.org/content/repositories/central</url> 
    </repository> 
    </repositories> 
    ... 
</project> 

然而,它是很好的做法有自己的倉庫管理器(聯繫,archiva,...)

+0

對不起,我還是不知道如何添加存儲庫,我應該添加/修改settings.xml嗎? – Tom 2011-03-07 10:10:46

+0

查看我編輯的答案 – 2011-03-07 10:38:13

+0

pluginRepositories可能只適用於插件而不適用於依賴關係 – Raghuram 2011-03-07 11:23:23

2

檢查您的%.m2\repository\org\aopalliance\com.springsource.org.aopalliance\1.0.0\。 如果在那裏沒有com.springsource.org.aopalliance-1.0.0.jar,只需自行下載並將其複製到此文件夾。

+0

我知道這個解決方案不是自動便攜的(如果我搬到新電腦上,我必須重做它)。但是,地獄,這個答案是真實的:)謝謝 – swdev 2012-10-15 07:07:35

1

您應該添加 「外部」 資源庫到你的pom.xml:在pom.xml中

<repository> 
    <id>com.springsource.repository.bundles.external</id> 
    <url>http://repository.springsource.com/maven/bundles/external</url> 
</repository> 

我的完整資料庫的標籤如下:

<repositories> 
    <repository> 
     <id>com.springsource.repository.maven.release</id> 
     <url>http://repo.springsource.org/release/</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>com.springsource.repository.bundles.release</id> 
     <url>http://repository.springsource.com/maven/bundles/release</url> 
    </repository> 
    <repository> 
     <id>com.springsource.repository.bundles.external</id> 
     <url>http://repository.springsource.com/maven/bundles/external</url> 
    </repository> 
</repositories>