首页 文章

在IntelliJ IDEA中导入Maven依赖项

提问于
浏览
152

我有一个关于IntelliJ IDEA 11的小问题 . 我刚刚从subversion导入了一个项目 - 它是一个maven项目 . 但我在maven库依赖项中遇到问题,因此我无法自动包含所有maven依赖项 - 只有在我打开该类时,IDEA才会显示依赖项错误/这就是我在这里得到的:

enter image description here

所以我想要自动添加所有依赖项 - 这是可能的还是我必须通过所有类文件来识别和添加maven依赖项?!

更新:在做了一些修改后,我发现了如何以某种方式解决我的问题 . 多数民众赞成我所做的:
enter image description here

但我认为逻辑上它不会包括并检查前面的新依赖项?!...在intelliJ中是否有任何设置区域 - 自动导出依赖于类路径?

27 回答

  • 219

    我遇到了同样的问题并尝试了一些没有解决问题的建议,我使用的是Intellij 13.1.3版本

    最后花了几个多小时试图解决它,我决定尝试升级版本并在14.1.4版本中打开项目,最终解决了这个问题 . 我认为这可能是以前版本中的一个错误 .

    我希望这有帮助!

  • 1

    如果其他所有方法都失败了,请检查本地.m2存储库中的jar文件是否确实有效且未损坏 . 就我而言,该文件尚未完全下载 .

  • 1

    在maven中,当我删除dependencyManagement xml部分并且直接在项目部分下有依赖项时,依赖项被包含在内

  • 0

    打开 IntelliJ Idea ,转到 File > Other Settings > Default Settings... > Maven (Preferences) > Importing 或| Preferences > Maven > Importing

    enter image description here

    单击控制台中的 Enable Auto-import .

    enter image description here

  • 1

    劫持一下,添加最终为我工作的东西:

    进入IDE右边缘的 Maven Projects 侧边栏,并验证您的模块下的依赖项是否正确列出 . 假设它们是,只需要让IDEA重新进口(顶部的第一个按钮,看起来像两个蓝色箭头形成一个逆时针圆圈) .

    一旦我这样做了,让IDEA为我重新加载项目,我所有的依赖都被神奇地理解了 .

    供参考:这是 IDEA 13.1.2

  • 0

    Maven - Reimport不适合我 . 我在STS(Eclipse)中有Spring项目,我的解决方案是将项目导入IDEA,如下所示:

    1)文件 - 新建 - 来自现有源的项目... - 选择目录 - 选择Eclipse .
    2)在设置中将Maven autoimport设置为true .
    3)然后右键单击pom.xml并选择Add as Maven Project .

    在此之后,它已导入所有内容 .

  • 18

    我和我的macbook有类似的问题,只是在 pom.xml 做了一个小改动,它开始下载所有依赖项:

    对于我的Windows机器,早期的依赖关系如下所示:

    <dependencies>
     <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4</version>
    </dependency>
    </dependencies>
    

    我刚刚删除了 <dependencies></dependencies> 标签,它开始下载所有依赖项:

    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4</version>
    </dependency>
    

    我不确定它是否会对你有用..但对我来说工作得很好 .

    谢谢

  • 1

    在我尝试_223353_然后导航到POM文件之前,没有什么对我有用 .

  • 5

    从项目目录中删除.idea文件夹,然后将项目重新导入为Maven项目对我有用 .

  • 0

    我通过使用正确的镜像配置更新我的settings.xml文件解决了这个问题,似乎每次导入maven模块时intellij都会尝试从存储库下载元数据 .

  • 1

    如果多次导入相同的路径,则导入Maven依赖项可能不起作用 . 这可能在导入现有maven项目后自动发生 . 我无法弄清楚为什么会发生这种情况,所以我倾向于认为这是一个错误 .

    例如,如果我的项目是

    hibernate
      src/main
      src/test
    

    三个路径可以作为顶级节点导入:

    hibernate
    src/main
    src/test
    

    如果是这种情况,依赖关系似乎是正确的,但在删除多余路径(在本例中为 src/mainsrc/test )之前不会使用它们 . 完成此操作后,请刷新并单击“生成”>“重建项目” . IDEA将获取依赖关系 .

    此问题的一个症状是,当您手动检查库时,IDEA会警告您有重复的路径(问题中的第二个屏幕截图) .

    有多种方法可以在需要时重新读取依赖项 . 如果您转到“Maven项目”选项卡,则选项卡左上角会显示“重新导入所有Maven项目”图标 . 如果您怀疑IDEA感到困惑,可以单击文件>无效缓存 .

  • 0

    是什么帮助了我:

    Navigage:设置|构建,执行,部署| Maven的

    指定“Maven主目录” - 安装maven的位置

  • 58

    进入项目结构,在项目Settings,Modules下,选择依赖项表 . 对于每个依赖项,将范围从“测试”更改为“编译” .

  • 3

    我遇到了IntelliJ 2016.3.X无法解决某些子依赖关系的问题 . 这可以通过将设置>构建,执行,部署>构建工具> Maven中的 Maven home directoryBundled (Maven 3) 更改为 /usr/share/maven 来解决 .

    之后,所有子依赖关系都得到了解决,就像之前的IntelliJ版本一样 .

  • 4

    如果在右下角显示“2个进程正在运行...”或类似情况,您可能只需要等待它完成,因为下载所有jar可能需要一些时间 .

  • 1

    我遇到了类似的问题,在我的情况下,我使用的是自定义的 settings.xml ,它不是从IntelliJ中挑选出来的 .

    Solution:
    File > Settings > Build, Execution, Deployment > Maven: User settings file (在这里选择我的custom settings.xml) .

  • 4

    问题似乎是尽管在pom.xml中列出了依赖项,但IntelliJ IDEA在运行项目时不会重建这些依赖项 .

    对我有用的是:

    转到“运行” - >“编辑配置...”,找到您的应用程序,确保展开“发布之前:”部分,单击绿色加号,然后选择“构建项目” .

  • 1

    只要您的POM符合并且所有依赖项都可用,IntelliJ就会自动下载所有依赖项并将其添加到项目的类路径中 .

    将Maven项目导入IntelliJ时,通常会出现一个信息框,询问您是否要为Maven项目配置自动导入 . 这意味着如果您对POM进行任何更改,那么这些更改将自动加载 .

    您可以启用此类功能转到文件>设置> Maven>导入,有一个复选框,显示“自动导入Maven项目” .

    如果这没有帮助,那么我建议进行全面清理并重新开始:

    • 关闭项目窗口(和IntelliJ)并删除所有 *.iml 文件和所有 .idea 文件夹(每个模块应该有一个)

    • 从命令行运行 mvn clean install

    • 将项目重新导入IntelliJ,并在要求您启用自动导入时注意

    IntelliJ 2016 Update

    导入Maven项目自动设置已移至IntelliJ首选项中的 Build, Execution, Deployment > Build Tools > Maven > Importing .

  • 4

    我能够通过从 Project Settings -> Modules 列表中删除不必要的模块来解决它 .

    事实证明,当我通过从项目文件夹(而不是通过打开pom.xml)导入创建IntelliJ项目时,IntelliJ IDEA会自动创建这些附加模块 . 然后,在将项目声明为Maven项目之后,创建了适当的模块,并且现有模块与它们发生冲突 . 在项目创建期间也可以排除这些模块 .

  • 24

    对于IntelliJ 2016-2.4(我相信其他新版本):

    查看>工具Windows> Maven项目

    在新显示的工具栏中,选择Maven设置(工具集的图标) .

    此屏幕打开后,展开Maven菜单并单击“导入”

    在这里,单击“自动导入Maven项目” . 还要确保'JDK for Importer'选项与您要使用的JDK版本匹配 .

    单击确定 . 现在转到pom.xml中的红色依赖项,选择红色灯泡,然后单击“更新Maven索引” .

  • 11

    创建新项目时,只需选择以下选项:

    ...
    Import project from external model
    在现有外部模型上创建IDEA项目结构(Eclipse,Maven ...)
    ...

    从那里你会发现它很直接 .
    在您的情况下,您可以关闭您的项目,只需创建一个新项目 . 选择项目的目录,它将覆盖它,使其成为Maven项目 .

  • 1

    如果某些maven模块没有编译检查他们的pom.xml是否在“被忽略的文件”列表中 . 在IntelliJ goto中

    首选项 - >项目设置 - > maven - >忽略文件

    并检查是否忽略相关的pom.xml .

  • 0

    首先检查路径在 Settings -> Build,Execution,Development -> Build Tools -> Maven 中为 User Settings file: 指定 . 该字段应该包含您的maven的 settings.xml 的路径 . settings.xml也应具有远程存储库的正确路径 .

  • 1

    尝试从IntelliJ IDEA中的Maven Projects面板重新导入项目 . 它应该自动下载并配置 pom.xml 中定义的所有依赖项 .

    如果由于某种原因从IDEA无法下载,请从命令行尝试 mvn install 并查看是否可以获取依赖项 .

    当然,必须直接在 pom.xml 文件中定义所有必需的依赖项和任何自定义存储库 .

  • 6

    重新进口该项目 . 如果您安装maven插件,您可以使用它 .

    右键单击项目 - > Maven - > Reimport

  • 3

    以为我会把我的0.02美元扔到这里:对我来说,解决这个问题的方法就是去

    文件[菜单] - >设置 - > maven - >导入和取消选中"use maven3 to import project"

    参考:http://youtrack.jetbrains.com/issue/IDEA-98425(也可能有其他一些想法)

    更新:再次使用IntelliJ 15再次进入此状态,此时无法再使用"use maven3 to import"选项 . 原因是有时IntelliJ "doesn't parse maven dependencies right"并且如果它无法正确解析其中一个,它显然会放弃所有这些 . 您可以通过打开maven项目工具窗口(查看菜单 - >工具窗口 - > Maven项目)来判断是否是这种情况 . 然后展开您的一个maven项目及其依赖项 . 如果依赖项全部用红色加下划线,"Houston, we have a problem" .

    实际上你可以通过鼠标悬停在项目名称上来看到真正的失败本身 .

    在我的实例中,它说"Problems: No versions available for XXX"或"Failed to read descriptor for artifact org.xy.z" ref:https://youtrack.jetbrains.com/issue/IDEA-128846https://youtrack.jetbrains.com/issue/IDEA-152555

    在这种情况下,我似乎正在处理一个没有相关pom文件的jar(在我们的maven nexus repo中,以及我的本地存储库) . 如果这也是你的问题,“urrent work around:如果你实际上不需要在你自己的代码中使用那个jar中的类(例如只有传递maven依赖),你实际上可以放弃从pom中注释掉它(临时),maven项目重新加载,然后取消注释 . 不知何故,IntelliJ“记住”其旧的工作依赖关系 . 暂时添加maven transitive exclude也可能会这样做,如果你从传递的依赖链中遇到它 . “

    可能有帮助的另一件事是使用maven的“更新版本”而不是捆绑的3.0.5 . 为了将其设置为默认使用,关闭所有intellij窗口,然后打开首选项 - >构建,执行和部署 - >构建工具 - > maven,并更改maven主目录,它应该说“默认项目“在你调整它时在顶部,虽然你也可以为特定项目调整它,只要你在调整后”重新导入“ .

    其他可能有用的东西:删除你的intellij缓存文件夹(windows:HOMEPATH / . {IntellijIdea,IdeaC} XXX linux~ / .IdeaIC15)和/或卸载并重新安装IntelliJ本身 . GL!

  • 0

    导入项目时,请选择 pom.xml 而不是项目目录 . 它应该工作 .

相关问题