Maven一定会失去理智。
我使用Netbeans Add Dependency对话框添加了依赖项。我搜索了jax-rs-ri
。它从中央更新了索引并显示了jax-rs-ri
的几个版本。我选择1.9.1
并将其添加到pom.xml
:
<dependency>
<groupId>com.sun.jersey.ri</groupId>
<artifactId>jax-rs-ri</artifactId>
<version>1.9.1</version>
</dependency>
看起来正确,但是当我构建时,我收到以下错误:
Failed to execute goal on project reply-to.test-web:
Could not resolve dependencies for project jms:reply-to.test-web:war:1.0-SNAPSHOT:
Could not find artifact com.sun.jersey.ri:jax-rs-ri:jar:1.10-b03 in
central (http://repo1.maven.org/maven2) -> [Help 1]
我也尝试使用相同的结果更改存储库:
<repositories>
<repository>
<id>maven2-repository.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2</url>
<layout>default</layout>
</repository>
</repositories>
今天早些时候工作。是否有些事情被Maven破坏了?
答案 0 :(得分:5)
在这些情况下,检查本地存储库(通常是c:\Users\<username>\.m2\repository\com\sun\jersey\ri\jax-rs-ri
或/home/<username>/.m2/repository/com/sun/jersey/jax-rs-ri
)和Central是值得的:
http://search.maven.org/#artifactdetails|com.sun.jersey.ri|jax-rs-ri|1.9.1|pom
(现在重要的部分是“可用下载”表。)
因此,没有任何jar
文件只是zip
(和POM)。您应该在依赖项中使用<type>zip</type>
,如下所示:
<dependency>
<groupId>com.sun.jersey.ri</groupId>
<artifactId>jax-rs-ri</artifactId>
<version>1.9.1</version>
<type>zip</type>
</dependency>
因为它是一个拉链,你可能想打开包装。这个答案可能会有所帮助:Unzip dependency in maven
请注意,1.9.1
不是最新的jax-rs-ri
版本,而您的Maven使用的是1.10-b03
。如果您想强制使用1.9.1
,则必须在<version>[1.9.1]</version>
标记内使用dependency
。