2011-10-25 76 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

相關問題