Maven构建错误

时间:2011-03-07 07:03:26

标签: maven-2 maven maven-3

我想通过maven构建一个spring mvc项目,我收到了以下错误:

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-validator,但即使我删除了所有spring mvc依赖项,我发现还有很多其他库都依赖于com.springsource.org.aopalliance, enter image description here

4 个答案:

答案 0 :(得分:2)

检查%.m2\repository\org\aopalliance\com.springsource.org.aopalliance\1.0.0\。 如果那里没有com.springsource.org.aopalliance-1.0.0.jar,请自行下载并将其复制到此文件夹。

答案 1 :(得分: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>

然而,拥有自己的存储库管理器(nexus,archiva,...)

是一种很好的做法

答案 2 :(得分:1)

由于您正在使用弹簧工件,因此可以参考this doc。如果您正在处理已发布的spring版本,则可以在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 / projectId似乎表明它在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>

答案 3 :(得分:1)

你应该添加&#34;外部&#34;存储库到你的pom.xml:

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

我在pom.xml中的完整存储库标记如下:

<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>