我想通过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,
答案 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>