Maven不列出库的当前版本

Maven不列出库的当前版本,maven,netbeans,maven-3,Maven,Netbeans,Maven 3,对于NetBeans 8 beta中基于Maven 3的项目,当我在上下文中单击“项目”导航器的“依赖项”项并选择“添加依赖项…”菜单项时,会出现一个用于搜索存储库的对话框 每次我输入“slf4j api”并选择找到的项目“org.slf4j:self4j api”,我都会得到不同的结果。有时在版本列表中,我会看到1.7.0,有时是1.7.5,但从来都不是最新的版本:1.7.6可从网站下载 为什么在一分钟后搜索并显示列表时列表会发生变化 所以我尝试搜索“logback classic”,然后点击

对于NetBeans 8 beta中基于Maven 3的项目,当我在上下文中单击“项目”导航器的“依赖项”项并选择“添加依赖项…”菜单项时,会出现一个用于搜索存储库的对话框

每次我输入“slf4j api”并选择找到的项目“org.slf4j:self4j api”,我都会得到不同的结果。有时在版本列表中,我会看到1.7.0,有时是1.7.5,但从来都不是最新的版本:1.7.6可从网站下载

为什么在一分钟后搜索并显示列表时列表会发生变化

所以我尝试搜索“logback classic”,然后点击“ch.qos.logback:logback classic”。最大版本号为1.0.13。这是去年5月发布的。此后,版本1.1.0于2014年1月28日发布,版本1.1.1于2014年2月5日发布

为什么Maven不提供这些更高版本


这是缓存问题吗?是否有某种方法可以强制Netbeans中的对话框更新其可用版本列表?

我在Eclipse中也看到了同样的问题。当IDE无法更新其缓存的Maven索引副本时,通常会发生这种情况

一个快速修复方法是将我知道的最新版本放到POM中,并一次性构建项目。IDE随后将下载依赖项,从那时起,它将知道这个版本存在


较长的修复方法是查看IDE的错误日志,找出它无法更新索引文件副本的原因。通常,您需要配置IDE以使用正确的HTTP代理设置。

Netbeans索引所有maven存储库,以便查找所有依赖项和版本。这是一项耗时的任务,因此默认情况下每周启动一次

如果要刷新索引,请转到工具>选项>Java>Maven>索引,然后单击«立即索引»

如果仍然找不到依赖项的最新版本,则可能是库尚未上载到存储库。要配置存储库,请转到窗口>服务>Maven存储库


文档有点过时,但您可以在此处找到更多信息:

这是一个缓存问题;Netbeans可能会保留Maven索引的副本。我在Eclipse中也看到过同样的问题。@Aarondigula可能是缓存问题,但我不知道如何解决。我在过去几周安装了NetBeans,而这些产品是在几个月前发布的。在Eclipse中,您可以选择在每次启动时下载索引。我不知道Netbeans是否有类似的选项。@BasilBourque:Maven索引是从您使用的存储库服务器下载的。它是一个包含repo中所有工件列表的文件。安装NetBeans的时间无关紧要,因为该文件来自其他地方。您缺少的一点是版本列表发生了变化。我可以打开列表查看一些最新版本,然后关闭列表。我再次打开列表,只看到旧版本。然后我第三次打开列表,我看到了一些最新的版本,但可能不是第一次看到的全部。可能是NetBeans 8 Beta版中的一个bug。它似乎正在工作。首先,我让NetBeans“添加依赖项…”对话框安装一个旧版本。然后打开pom.xml文件,将版本号编辑为已知的最新版本号。NetBeans立即下载并更新项目浏览器中“依赖项”树下列出的项。没有解释NetBeans“添加依赖项”对话框的搜索列表的奇怪行为,但可能是一种有效的解决方法。