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


当前回答

如果您正在为任何依赖项使用版本范围,请确保IntelliJ正在使用Maven 3导入项目。您可以在以下路径中找到此设置:设置> Maven >导入>使用Maven3导入项目。否则可能会导致快照版本导入不正确。

其他回答

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

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

如果您使用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为什么有这个功能?)

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

The option Setting > Maven > Always update snapshots no longer works in IDEA 2022.2.2, probably because Maven 3 frowns upon it and IntelliJ seems to not have updated the IDE to make it function. A simple solution might be to be able to add maven -U clean install as a custom target to the Lifecycle list in the IDEA Maven tab, but if it is possible it is not clear how to do it (even after googling for days). A not as nice but viable solution would be to go into the Terminal tool of IDEA and typing maven -U clean install, but IDEA does not expose the maven command in its Terminal by default and again it is not clear how to configure it so that it would.

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

打开项目设置(CTRL+SHIFT+ALT+S) 在模块上,删除所有你想要重新导入的库(例如重复) IDEA会警告一些仍在使用,确认 应用并选择OK 然后重新导入所有的maven项目。

设置> Maven >始终更新快照