【发布时间】:2012-04-16 09:00:40
【问题描述】:
如何强制 intellij idea 重新读取/更新 pom 文件中指定的所有依赖项?
【问题讨论】:
标签: maven intellij-idea
如何强制 intellij idea 重新读取/更新 pom 文件中指定的所有依赖项?
【问题讨论】:
标签: maven intellij-idea
按Ctrl+Shift+A查找动作,输入“reload”,你会看到“Reload All Maven Projects” .
在 Mac 上,请改用 ⌘+⇧+A。
【讨论】:
打开“Maven 项目”选项卡/窗口并单击左上角的“重新导入所有 Maven 项目”开始重新加载其存储库中的所有依赖项。状态栏通知该过程。
是什么让您认为这无法正常工作?也许无法从存储库中加载任何依赖项?
【讨论】:
还有一个有用的设置告诉 IntelliJ 检查新版本的依赖项,即使版本号没有改变。我们有一个本地 maven 存储库和一个更新了几次但版本号相同的快照项目。问题是 IntelliJ/Maven 没有更新这个项目,因为版本号是固定的。
要启用检查更改的依赖项,尽管版本号没有更改,请转到“Maven 项目”选项卡,选择“Maven 设置”并激活“始终更新快照”。
【讨论】:
help:“如果您希望 IntelliJ IDEA 同步更新快照,请选中此复选框。”换句话说,它不是全自动的——你必须Synchronize(在右键菜单或Ctrl-Alt-Y),但是启用这个选项会导致它获取更新的SNAPSHOT版本。警告:可能还涉及其他微妙之处,例如Import Changes——到目前为止,这对我来说似乎还不能完全重现。也许这一切都在我的想象中——似乎总是有效的是完整的reimport,正如其他答案中所建议的那样。
适用于 IntelliJ IDEA 14.0
项目 > [你的项目名称] > 右键单击 > Maven > 重新导入
【讨论】:
运行这个命令
mvn -U clean install
【讨论】:
如果重新导入不起作用(即在 pom 更新后没有删除旧版本的依赖项),还有一次机会:
【讨论】:
设置 > Maven > 始终更新快照
【讨论】:
【讨论】:
转到文件 |设置 |构建、执行、部署 |构建工具 |马文
选择“始终更新快照”
【讨论】:
我遇到了 IntelliJ 无法编译类的问题,声称缺少项目之间的依赖关系。 按照此问题的答案中的建议重新导入项目并不能解决问题。 我的解决方案是:
警告:在某些项目中,您可能需要增加 maven 导入的最大内存(maven 选项卡上的 maven 设置/导入/导入器的 VM 选项)。
【讨论】:
如果您对任何依赖项使用版本范围,请确保 IntelliJ 使用 Maven 3 导入项目。您可以在以下位置找到此设置:Settings > Maven > Importing > Use Maven3 to import project。否则您可能会发现 SNAPSHOT 版本没有正确导入。
【讨论】:
如果您在 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 有它?)
【讨论】:
要删除所有依赖项,您可以简单地删除本地 maven 存储库:默认情况下 ~/.m2 文件夹。然后一个一个地重建你的项目:
mvn clean
mvn package
【讨论】: