2012-10-17 104 views
3

我是Maven新手,我目前使用Eclipse的m2e插件。Eclipse Maven存儲庫差異

問題1:

當在默認的中央儲存庫的假象(大氣運行時)搜索(右鍵單擊項目:Maven的 - >添加扶養),返回結果的列表。

但是在添加依賴我收到以下錯誤信息:

Missing artifact org.atmosphere:atmosphere-runtime:bundle:1.0.2 

如果我搜索的行家網站上的神器,我能夠找到並手動下載JAR(見here)。我已經嘗試清理/更新/重新加載項目,更新/ reindexing /重建中央maven回購和重新啓動Eclipse,但似乎沒有任何幫助。

是否有一個原因,我得到這個錯誤?

問題2:

我下面建議增加以下倉庫的POM下載以上神器的講解:

<repositories> 
    <repository> 
    <id>Sonatype snapshots</id> 
    <url>https://oss.sonatype.org/content/repositories/snapshots</url> 
    </repository> 
    <repository> 
    <id>Sonatype releases</id> 
    <url>https://oss.sonatype.org/content/repositories/releases</url> 
    </repository> 
</repositories> 

這工作,我能夠下載所需的構件如果我手動指定pom.xml文件中的依賴關係。但是,如果我嘗試使用eclipse搜索搜索工件(右鍵單擊項目:Maven - > add dependancy),則不會從兩個新存儲庫返回結果。

是否有可能在搜索中包含這兩個新的存儲庫?

+0

對於問題1:你在代理或其他方面?如果您從命令行調用Maven,它是否工作'mvn compile'? – siegi

+0

只需在POM中指定依賴關係即可。你可以添加你的'pom.xml'嗎? – siegi

回答

2

對於你的第一個問題。 Maven central只有一個「jar」,但你似乎需要一個bundle來代替。所以,你必須改變你的依賴關係「罐子」,這意味着這樣定義的依賴性:而不是

<dependency> 
    <groupId>org.atmosphere</groupId> 
    <artifactId>atmosphere-runtime</artifactId> 
    <version>1.0.2</version> 
</dependency> 

<dependency> 
    <groupId>org.atmosphere</groupId> 
    <artifactId>atmosphere-runtime</artifactId> 
    <version>1.0.2</version> 
    <type>bundle</type> 
</dependency> 

最好的事情在你的第二個問題是要解決的問題使用像Nexus這樣的存儲庫管理器,並在存儲庫管理器中定義這兩個存儲庫。 https://oss.sonatype.org/content/repositories/snapshots定義了Maven Central中的工件的SNAPSHOT,而第二個是定期同步到Maven Central的倉庫。所以在我看來,你不需要單獨使用這兩個存儲庫。如果要搜索上述兩個存儲庫的內容,可以使用以下搜索:https://oss.sonatype.org/,您可以在其中訪問可用於搜索的Nexus存儲庫。

0

到你的2.問題。在Maven Repositories的視圖中展開Project Repositories並右鍵單擊添加的存儲庫並檢查Enable Full Index

給你1個問題。如果未啓用,請爲中央存儲庫啓用完整索引,並嘗試使用Update Index/Rebuild Index