强制Intellij IDEA重新读取所有maven依赖项

如何强制intellij想法重读/更新pom文件中指定的所有依赖项?

393373 次浏览

打开“Maven Projects”选项卡/窗口,单击左上角的“Reimport All Maven Projects”,开始从它们的存储库中重新加载所有依赖项。状态栏显示该进程的相关信息。

是什么让你认为这是不正确的工作?也许任何依赖项都不能从存储库加载?

还有一个有用的设置告诉IntelliJ检查依赖项的新版本,即使版本号没有改变。我们有一个本地maven存储库和一个快照项目,它更新了几次,但版本号保持不变。问题是IntelliJ/Maven没有更新这个项目,因为版本号是固定的。

要启用检查变更的依赖关系,尽管版本号没有改变,请进入“Maven项目”选项卡,选择“Maven设置”,并在那里激活“始终更新快照”。

如果您正在为任何依赖项使用版本范围,请确保IntelliJ正在使用Maven 3导入项目。你可以在Settings > Maven > Importing > Use Maven3 to import project中找到这个设置。否则可能会导致快照版本导入不正确。

对于IntelliJ IDEA 14.0

项目>[您的项目名称]>右键单击> Maven >重新导入

Ctrl+转变+一个查找动作,输入“Reload”,就会找到“Reload All Maven projects”。

在Mac上,使用++一个

下面最左边的按钮(蓝色循环)也重新导入了所有的maven项目:

enter image description here

执行此命令 mvn -U clean install < / p >

如果重新导入不起作用(即在pom更新后没有删除旧版本的依赖项),还有一个机会:

  • 打开项目设置(CTRL+SHIFT+ALT+S)
  • 在模块上,删除所有你想要重新导入的库(例如重复)
  • IDEA会警告一些仍在使用,确认
  • 应用并选择OK
  • 然后重新导入所有maven项目。
我有一个问题,IntelliJ无法编译类,声称项目之间的依赖缺失。 按照这个问题的答案重新导入项目并不能解决问题。 我的解决方案是:

  1. 删除所有项目(项目标签/右键单击根文件夹/ maven /删除项目);
  2. 关闭编辑器;
  3. 在命令行上使用maven编译所有项目;
  4. 打开同一项目的编辑器;
  5. 再次将项目添加到maven (maven TAB /添加maven项目(绿色+)/选择根pom);

警告:在某些项目中,您可能必须增加maven导入的最大内存(maven选项卡/导入/导入器的VM选项中的maven设置)。

设置> Maven >始终更新快照

在最新的IntelliJ IDEA版本(2020.1.3终极版)中,在对pom.xml进行更改后,需要单击编辑器窗口右上方出现的这个小东西

这个小家伙太小了,位置也不显眼。我喜欢之前的版本,提醒显示在右下角。在此版本中仍然找不到启用自动导入的选项。

enter image description here

另一个选择

在右边的属性面板中,选择Maven并单击重新加载图标。如果您在右侧面板上没有看到maven,请从View >工具窗口>Maven

enter image description here

进入文件|设置|构建,执行,部署|构建工具| Maven

选择“始终更新快照”;

要删除< >强所有依赖项< / >强,默认情况下只需删除本地maven repo: ~/.m2文件夹。然后一个接一个地重建你的项目:

mvn clean
mvn package
如果您使用IntelliJ,有四种独立的方法来刷新maven存储库。 它们中的每一个都会刷新您计算机上的另一个本地存储库,或者以不同的方式刷新它们
1. mvn -U clean install
2. Ctrl+Shift+A - Reimport
3. Round arrows in the Maven window


4. Ctrl+Alt+S , go to Build, Execution, Deployment | Build Tools | Maven | Repositories -choose rep - update

有趣的是,人们常说,最后一次刷新等于Maven窗口中的圆形箭头。但是,根据我的经验,它们是完全不同的!证明:我们的大型项目在最后一次刷新时失败了,但是没有它也能很好地存在和运行。双圆箭头可以在上面运行。

这四种方法中的每一种都可以帮助您解决问题或/并发现自己的问题。例如,对于运行我们现实生活中的项目,第一个是必要的,但是对于IntelliJ中的测试,我们还需要2和3。当然,有人也需要4个。(要不然IntelliJ为什么有这个功能?)

对于单独的模块:右键单击模块的pom.xml ->重新加载为Maven项目。

有两种方法可以做到。

  • 1号路

去文件>设置在构建、执行、部署等;构建工具| Maven

选择“始终更新快照”;

Apply和OK

  • < p > 2

    mvn -U clean install

这在2022年仍然是一个问题。

  • IDEA 2022.2.2中的选项设置在Maven在总是更新快照 不再有效,可能是因为Maven 3不赞成它,而IntelliJ似乎没有更新IDE以使其正常工作。

  • 一个简单的解决方案可能是能够将maven -U清洁安装作为< >强自定义目标< / >强添加到IDEA Maven选项卡的生命周期列表中,但如果有可能,也不清楚如何做到这一点(即使在谷歌搜索了几天之后)。

  • 一个不太好的但可行的解决方案是进入IDEA的< <强>终端工具/强>并键入maven -U清洁安装,但IDEA在默认情况下不会在其终端中公开maven命令,并且不清楚如何配置它,以便它会这样做。