2012-12-27 86 views
76

我在新的Workspace中创建了一个新的简单Maven项目。Eclipse:Maven搜索依赖不起作用

当我在Eclipse编辑器中打开pom.xmlDependencies看法,我选择Add..的依赖,也没有搜索结果不管搜索条件我输入搜索字段:

,立时给我,例如,Results for 'spring' (0)

在我的其他工作区中,对于我现有的项目,我没有这个问题。

有没有办法解决这个问题?

+3

相信有在下面的链接的解决方案: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1] :http://stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 –

回答

157

Eclipse工件搜索取决于存储库的索引文件。看来你没有下载索引文件。

转到窗口 - > Prefrences - > Maven的和检查 “上开始下载库索引更新”。重新启动Eclipse,然后查看进度视图。索引文件应该下载。

完全下载后,即可使用工件搜索。

Maven Settings

UPDATE 您还需要重建Maven仓库指数 'Maven仓库视图'。

在此视图中,打开'Global Repositories',右键单击'central',选中'Full Index Enable', ,然后在同一菜单中单击'Rebuild Index'。

将下载66M索引文件。

Maven Repositories -> Rebuild Index

+1

尝试'重建索引'。 –

+1

银子弹。谢谢。 – Argun

+4

窗口 - >首选项 - > Maven – McLovin

4

如果您位于公司代理中,并且新项目未使用代理凭证指向正确的settings.xml文件,则可以获得此结果。

如果您使用的是Maven代理(例如Nexus),并且代理的索引会以某种方式搞砸,那么您也可以获得该代理。我不知道如何解决这个问题。用它来欺骗或者打电话给设置Maven代理的人。

如果新工作空间尚未从Maven中心或代理中下载索引,那么也可以获取此信息。 (这是最好的一个,因为您只需等待一段时间,它就会自行解决。)

+0

其实我有两个工作区打开(在两个不同的日食) ,其中之一是有效的,而不是其他的,所以它不能成为代理或互联网连接问题。并且在这两个工作区中都没有设置.xml文件..我认为你可能对下载的索引是正确的,但我不知道如何下载它(我昨天一直有这个问题,所以没用,等待) –

+1

我使用的是MyEclipse,偏好可能与你的偏好不同。但我有一个按钮,你可以使用window> preferences> MyEclipse> Maven4MyEclipse> User Settings。该按钮标有“Reindex”,如果点击它,可能会有所帮助。这里有一张图片和更多信息:[(click)](http://stackoverflow.com/questions/10235374/how-to-change-maven-local-repository-in-eclipse) –

+0

BTW - settings.xml是在用户文件夹的.m2文件夹中找到的文件。 (Windows 7是c:\ Users \ YourName \ .m2,Linux是〜/ .m2),它可以保存多个工作区的全局信息。相同的首选项页面可让您选择它。 –

2

Maven的依赖增加实际上是从maven的索引。如果索引是最新的,结果应该从那里开始。

如果你转到maven仓库,然后选择全局仓库,你应该看到一个中央...选项卡,并选择这个,应该有一个文件夹列表,你应该能够看到所有的索引那里。如果没有,那么这意味着你没有得到完整的索引,那么你可以右键单击它并启用完整索引。

我最烦恼的另一件事是我什么都做了,当我输入“spring”时它仍然没有显示任何东西。这实际上是我做错了的地方。如果你只是输入一些额外的文本“springframework”,BOOM,结果就在那里。

1

我有同样的问题。以上建议的选项都不适合我。但是我发现,如果我可以手动添加org.springframework.spring-core版本4.3.4.RELEASE的groupid/artifact/version并保存pom.xml,那么依赖项会自动下载,并且搜索已经存在在存储库中。 但是,如果我现在搜索org.springframework.spring-context,它不在当前的依赖关系中,则此搜索仍不起作用。

0

使用https://search.maven.org/手动使用前缀fc来搜索类名称。 Netbeans和Eclipse似乎都太愚蠢,无法使用该搜索界面,并且千兆字节的下载存储库索引似乎不包含任何类信息。完全浪费磁盘空间。那些IDE项目最近维护得不好,我希望他们能把开发移到GitHub。

2

对我来说这个问题努力:

  • 删除〜/ .m2目录
  • 启用Maven仓库视图的中央信息库“已启用全索引”
  • 在中央Maven仓库“重建索引”

重新启动后,一切运行良好。