繁体   English   中英

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

[英]How can I make IntelliJ IDEA update my dependencies from Maven?

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

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

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

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

您不必每次都手动重新导入。 您可以按照此处的说明启用自动导入 在设置 -> Maven -> 自动导入 Maven 项目中更改此设置。

IntelliJ IDEA 2016

自动导入 Maven 项目

方法一

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

    自动导入 Maven 项目

方法二

  • 按下Ctrl + Shift + A>键入“导入的Maven”>选择“自动导入Maven项目”并回车>查看导入的Maven自动项目

重新导入

方法一

  • 在项目视图中,右键单击您的项目文件夹 > Maven > Reimport

方法二

  • 查看>工具窗口> Maven 项目

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

    或者

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

      重新导入所有 Maven 项目

取消选中

“离线办公”

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

你需要去:Maven settings -> Auto-Reload Settings

自动重新加载设置

然后检查“任何更改”:

在此处输入图片说明

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

那对我有用。

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

  1. 关闭项目
  2. 单击pom.xml打开项目(不是在项目目录上)
  3. 单击Open as Project

项目清单

  1. 单击Delete Existing Project and Import

在此处输入图片说明

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

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

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

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

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

这是我所做的:

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

今天,当您在pom.xml文件中单击鼠标右键时, Maven选项卡下有一个Reload Project选项。

重新加载 Maven 依赖项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM