Maven无法解决刚刚发现的依赖关系

时间:2011-10-25 02:31:37

标签: maven

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破坏了?

1 个答案:

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