pom.xml中的Intellij Idea 2016.3.4仅为依赖关系artefact版本提供RELEASE和LATEST,但不提供明确的版本列表

时间:2017-03-23 11:16:53

标签: java maven intellij-idea autocomplete

我在pom.xml中有以下代码段:

<dependency>
    <groupId>org.apache.mina</groupId>
    <artifactId>mina-core</artifactId>
    <version></version>
</dependency>

当我将光标置于版本标签之间并使用CTRL + Space显示选项时,我希望看到版本可用,而IDE只显示:

  • RELEASE
  • 最新

我无法在IDE中找到此行为的任何配置。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我通过CrazyCoder递归评论提供的链接,最后在idea.log中找到了问题:

2017-03-23 19:29:45,381 [27843728] WARN - #org.jetbrains.idea.maven - Failed to update Maven indices for: [prokyon-repository,central] blackhole.archenroot.org:50001/nexus/content/groups/public org.jetbrains.idea.maven.server.MavenServerIndexerException ---> Caused by: java.lang.NullPointerException  

我在白天(3x)多次尝试刷新索引,但仍然是同样的失败。我也对Nexus服务器上的索引进行了优化,没有运气。

最后,我开始怀疑索引的大小是根本原因,因此从Nexus存储库组中删除了大多数代理存储库(我只留下了Attlasian,Sonatype和Central公共代理)。 这种指数的大小从 2.5GB减小到< 400MB 即可。有了这样的大小,Intellij Idea中的更新毫无例外地完成,现在IDE再次提供版本+ RELEASES + LATEST,这是预期的正确行为。

所以我认为索引的大小可能是根本原因。

解决方案:不是链接到maven一个BIG存储库组,最好在settings.xml maven配置文件中列出所有代理作为镜像,让IDE下载多个较小的索引,maven插件可以毫无问题地处理这些索引。