如何强制maven更新本地回购

时间:2013-03-28 02:52:14

标签: maven intellij-idea

我在一个项目中编译了一个jar文件,因此可以在第二个项目中使用它。我可以在.m2文件夹中看到jar文件。但在第二个项目中,它抱怨找不到工件。 我想我必须强制maven更新索引/缓存一些但不知道到底是什么。任何提示,谢谢。

更新:感谢所有好建议。 事实证明,第二个项目中的maven插件(IntelliJ)不会更新其索引。我使用它编译好的命令行。

6 个答案:

答案 0 :(得分:45)

在运行maven时尝试使用-U aka --update-snapshots

确保依赖关系定义正确

答案 1 :(得分:8)

如果要安装到本地存储库,则不需要特殊的索引/缓存更新。

确保:

  1. 您已在本地存储库中正确安装了第一个工件。只需将文件复制到.m2可能无法正常工作。请务必按mvn install

  2. 进行安装
  3. 正确设置了第二个项目中的依赖项。检查groupId/artifactId/version中的任何拼写错误,或无法匹配的工件type/classifier

答案 2 :(得分:5)

即使这是一个老问题,我多次偶然发现这个问题,直到现在都没想出如何解决它。 更新maven索引是IntelliJ创造的一个术语,如果在编译完第一个项目后它仍然不起作用,那么你可能正在使用2个不同的maven安装。

CTRL + Shift + A 打开“操作”菜单。输入Maven并转到 Maven设置。检查主目录以使用与通过命令行使用相同的maven

答案 3 :(得分:4)

您也可以在命令行中使用此命令:

mvn dependency:purge-local-repository clean install

答案 4 :(得分:2)

点击设置并搜索"存储库",然后选择本地存储并点击"更新"。这就是全部。这个动作符合我的需要。

答案 5 :(得分:0)

如果您正在努力验证网站,并且Maven正在缓存结果,只需从元数据存储中删除有关该网站的元数据将迫使Maven重新访问该网站。

gvim <local-git-repository>/commons-codec/resolver-status.properties