2012-10-17 99 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