在NetBeans 8 beta中使用基于Maven 3的项目,当我上下文+单击“Projects”导航器的“Dependencies”项并选择“Add Dependency ...”菜单项时,我会看到一个用于搜索存储库的对话框
每当我输入“slf4j-api”并选择找到的项目“org.slf4j:self4j-api”时,我会得到不同的结果。有时在版本列表中我得到1.7.0,有时是1.7.5,但从来没有最新版本:1.7.6可以从slf4j download page下载。
为什么我在一分钟后搜索并显示列表时列表会发生变化?
所以我尝试搜索“logback-classic”,然后点击“ch.qos.logback:logback-classic”。最大版本号是1.0.13。那是去年5月发布的。从那以后,版本1.1.0在2014-01-28发布,而在2014-02-05发布了1.1.1。
为什么Maven不提供这些更高版本?
这是一个缓存问题吗?有没有办法强制Netbeans中的对话框更新其可用版本列表?
答案 0 :(得分:1)
我在Eclipse中看到了同样的问题。当IDE无法更新Maven索引的缓存副本时,通常会发生这种情况。
快速解决方法是将我知道的最新版本放入POM并构建项目一次。然后IDE将下载依赖项,从那时起,它将知道此版本存在。
更长的修复方法是查看IDE的错误日志,找出无法更新索引文件副本的原因。通常,您需要将IDE配置为使用正确的HTTP代理设置。
答案 1 :(得分:0)
Netbeans索引所有maven存储库以查找所有依赖项和版本。这是一项耗时的任务,因此默认情况下每周启动一次。
如果要刷新索引,请转到工具>选项> Java> Maven>索引并单击“立即索引”
如果仍然没有找到依赖项的最新版本,则可能是该库尚未上载到存储库。要配置存储库,请转到Window>服务> Maven存储库。
文档有点过时,但您可以在此处找到更多信息:http://wiki.netbeans.org/MavenBestPractices#Dependency_management