如何让 IntelliJ IDEA 从 Maven 更新我的依赖项?

Posted

技术标签:

【中文标题】如何让 IntelliJ IDEA 从 Maven 更新我的依赖项?【英文标题】:How can I make IntelliJ IDEA update my dependencies from Maven? 【发布时间】:2013-06-04 05:48:28 【问题描述】:

当我在我的项目的pom.xml中手动添加依赖时,让Maven下载依赖并让IntelliJ 构建模块,IntelliJ 抱怨缺少库。同时 Maven 可以找到依赖的 JAR 并构建项目。

我如何告诉 IntelliJ 使用 Maven 下载的库?

【问题讨论】:

Force Intellij IDEA to reread all maven dependencies的可能重复 现代版本的 Intellij 在气球中提示导入更改或启用自动导入。 【参考方案1】:

事实证明 IntelliJ 不会从本地 Maven 存储库中获取添加的依赖项。我们必须告诉 IntelliJ 重新导入 pom.xml。

    在 IntelliJ 中打开项目视图 右键单击 pom.xml 文件并选择 Maven - Reimport 如果这对您有用,IntelliJ 会将依赖项添加到项目中 检查是否添加了你需要的依赖 文件 - 项目结构 - 项目设置 - 库 和文件-项目结构-模块-依赖关系

【讨论】:

【参考方案2】:

您不必每次都手动重新导入。您可以启用自动导入 as documented here. 在设置 -> Maven -> 自动导入 Maven 项目中更改此项。

【讨论】:

在更高版本的 IntelliJ 中,该选项可以在 File -> Setttings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing 下找到。 这已经消失了(2020.1),您必须在编辑它时单击显示在 pom 文件上方的 maven 按钮:( 见***.com/questions/26099526/… @FrankHopkins 是的,在 2020.1 中,您必须在该按钮出现时手动单击它。唯一的自动 maven 更新是文件更改超出想法时(例如您签出不同的分支)。它已在 2020.2 中放回,但您必须打开设置 - 请在此处查看问题:youtrack.jetbrains.com/issue/… @AntonyStubbs 啊太棒了!谢谢(你的)信息!有趣的是,我在单击通知窗口时从来没有遇到过问题,但是应该不那么阻碍的小按钮是如此通畅,直到我开始寻找它为什么不再工作时我才注意到它。 【参考方案3】:

IntelliJ IDEA 2016

自动导入 Maven 项目

方法 1

文件 > 设置... > 构建、执行、部署 > 构建工具 > Maven > 导入 >勾选自动导入Maven项目

方法 2

Ctrl + Shift + A > 输入“导入 Maven” > 选择“自动导入 Maven 项目”并按 Enter > 勾选自动导入Maven项目

重新导入

方法 1

在项目视图中,右键单击您的项目文件夹 > Maven > 重新导入

方法 2

查看 > 工具窗口 > Maven项目

右键单击您的项目>重新导入

点击“重新导入所有 Maven 项目”图标:

【讨论】:

右键单击项目文件夹后看不到 Maven 选项。是否需要与 IDEA 单独安装 Maven 插件? @vikramvi 是的,您需要先安装 maven。 docs.wso2.com/display/IS323/Installing+Apache+Maven+on+Windows 我可能为时已晚,但我正在为将来面对它的人添加此评论。 我正在使用 ideaIU-2021.2,这个 reimport 显示为 reload【参考方案4】:

你需要去:Maven设置->自动重载设置

然后检查“任何更改”:

【讨论】:

对于 macOS 用户,除了 IDE 右侧 Maven 的上述入口点之外,您可以: IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools ->选中“在构建脚本更改后重新加载项目”并选择“任何更改”。适用于我的 IntelliJ IDEA 2021.1.1。【参考方案5】:

取消勾选

“离线工作”

在设置 -> Maven 中! 它对我有用! :D

【讨论】:

【参考方案6】:

文件>设置>构建、执行、部署>Maven> 检查:总是更新快照

这对我有用。

【讨论】:

我也是。 IntelliJ 太聪明了,无法在命令行上的Eclipsemvn clean install 也能成功。小时数丢失。我讨厌学究气的软件。【参考方案7】:

由于某种原因,IntelliJ(至少在 2019.1.2 版本中)忽略了本地 .m2 目录中的依赖项。以上解决方案都不适合我。最终迫使 IntelliJ 发现本地依赖项的唯一事情是:

    关闭项目 点击pom.xml打开项目(不在项目目录上) 点击Open as Project

    点击Delete Existing Project and Import

【讨论】:

【参考方案8】:

IntelliJ 2020 中的 pom.xml 视图中,应该能够通过以下组合键应用 pom 更改:CTRG + SHIFT + O.

正如之前正确评论的那样 - IntelliJ 还显示了一个气球小部件来导入更改。

【讨论】:

【参考方案9】:

除了检查“自动导入 Maven 项目”外,请确保 File > Settings > Maven > User Settings 文件中的 settings.xml 文件存在,如果不存在,则覆盖并提供您的 settings.xml 文件路径。

【讨论】:

【参考方案10】:

我尽一切努力让 IntelliJ 获取我的 pom.xml 更改,但它只是没有这样做。我注释掉了pom.xml 中的所有<dependencies> 并重建了应该显示数百个编译错误但没有显示的项目。

最后,我不得不删除 .idea 文件夹以让 IntelliJ 重新生成它的 maven 模型。完成此操作后,当我执行“重新加载所有项目”时,会获取对 pom.xml 的后续更改,因此我怀疑 IntelliJ 使用缓存模型而不是在进行更改时更新它的错误。

这就是我所做的:

    在 IntelliJ 中关闭项目(文件 -> 关闭项目) 删除项目根目录下的.idea文件夹 在 IntelliJ 中再次打开项目 Maven -> 重新加载所有项目 构建 -> 重建项目

【讨论】:

以上是关于如何让 IntelliJ IDEA 从 Maven 更新我的依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?

转载MapReduce编程 Intellij Idea配置MapReduce编程环境

Intellij Idea 中,如何使用maven+SVN

Intellij-idea 如何编译maven工程

IntelliJ IDEA导入项目如何启动?

如何在 IntelliJ IDEA 中自动禁用 Maven 自动导入?