2011-10-25 152 views
1

Maven必须失去理智。Maven无法解析它刚刚找到的依赖关系

我使用Netbeans添加依赖对话框添加了依赖关系。我搜索了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有什么东西被打破了吗?

回答

4

在这种情况下,这是值得检查本地存储库(通常c:\Users\<username>\.m2\repository\com\sun\jersey\ri\jax-rs-ri/home/<username>/.m2/repository/com/sun/jersey/jax-rs-ri)和中央: 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> 

因为它是一个zip也许你想要将它解开。这个答案可能有所帮助:Unzip dependency in maven

请注意,1.9.1不是最新的jax-rs-ri版本,您的Maven使用1.10-b03。如果您想强制使用1.9.1,则必须在dependency标签内使用<version>[1.9.1]</version>

+0

添加 zip修复它。没有它我仍然可以下载:http://download.java.net/maven/2/com/sun/jersey/ri/jax-rs-ri/1.9.1/jax-rs-ri-1.9.1.jar 正在下载:http://repo1.maven.org/maven2/com/sun/jersey/ri/jax-rs-ri/1.9.1/jax-rs-ri-1.9.1.jar所以它看起来像mvn发现.jar文件。奇怪。 –

+0

它下载压缩包,相信我:)压缩包含罐子,但你必须解压它,如果你想使用它们。 – palacsint

相关问题