如清晰可见here,Axis 2 Maven依赖项有几个版本高于1.6.3版本。但是,当我在Eclipse中构建(实际上当我编辑并保存我的pom.xml)时,它们都无法下载。我有一个java 8项目和版本1.5.4到1.6.3所有工作。当我将它们添加到我的pom.xml中时,它们会自动出现在我的maven依赖项中。当我尝试1.6.4 - 1.7.3之间的任何版本时,我的pom.xml中出现了一个缺失的工件错误,就像它们在中央存储库中找不到一样。
我使用Eclipse Mars的嵌入式Maven 3.3。可能是它链接到一个不包含ne版本的过时的存储库?如何将其连接到另一个存储库(我已经检查了Preferences / Maven以设置此属性但没有找到它)。另外,什么是好的"中心"存储库
答案 0 :(得分:9)
此错误并非如您所理解的那样:
将鼠标移到红色下划线上(或转到“标记”标签)并阅读错误消息:
Missing artifact org.apache.axis2:axis2:jar:1.6.4
意识到Maven正在尝试使用以下坐标下载这样的工件:groupId = org.apache.axis2,artifactId = axis2,version = 1.6.4, type = jar
...从版本1.6.4开始,工件 axis2 不再是JAR,而是POM。所以你只需要覆盖默认的类型坐标:
<dependency>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2</artifactId>
<version>1.6.4</version>
<type>pom</type>
</dependency>
(或者,使用JAR包装声明另一个更具体的工件:axis2-kernel,axis2-adb等。)
建议:看看Central Repository中的这个search,并了解一些依赖项如何拥有JAR工件,而其他一些只有POM。