在 IntelliJ IDEA 中导入 Maven 依赖

新手上路,请多包涵

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

在此处输入图像描述

所以我希望自动添加所有依赖项——这可能吗,还是我必须遍历所有类文件来识别和添加 Maven 依赖项?!

更新:做了一些修改后,我发现了如何以某种方式解决我的问题。那就是我所做的:在此处输入图像描述

但我认为从逻辑上讲,它不会提前包含和检查新的依赖项?!…在 intelliJ 中是否有任何设置区域 - 自动将依赖项导出到类路径?

原文由 Zaur Guliyev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

只要您的 POM 兼容并且所有依赖项都可用,IntelliJ 应该会自动下载所有依赖项并将其添加到项目的类路径中。

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

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

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

  • 关闭项目窗口(和 IntelliJ)并删除所有 *.iml 文件和所有 .idea 文件夹(每个模块应该有一个)
  • 从命令行运行 mvn clean install
  • 将项目重新导入 IntelliJ 并在它要求您启用自动导入时注意

IntelliJ 2016 更新

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

原文由 Alonso Dominguez 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 IntelliJ 14 之前修复

文件 [菜单] -> 设置 -> maven -> 导入并 _取消选中_“使用 maven3 导入项目”

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

修复 IntelliJ 15+

再次遇到这个问题,这次是 IntelliJ 15,它不再提供“使用 maven3 导入”选项。原因是有时 IntelliJ“没有正确解析 Maven 依赖项”,如果它不能正确解析其中一个,它显然会放弃 所有 这些依赖项。您可以通过打开 Maven 项目工具窗口(查看菜单 -> 工具窗口 -> Maven 项目)来判断是否属于这种情况。然后展开您的 Maven 项目之一及其依赖项。如果依赖关系都用红色下划线表示,“休斯顿,我们有问题”。 在此处输入图像描述

通过将鼠标悬停在项目名称本身上,您实际上可以看到 真正的 失败。

在此处输入图像描述

在我的例子中,它说“问题:XXX 没有可用的版本”或“无法读取工件 org.xy.z 的描述符”参考: https ://youtrack.jetbrains.com/issue/IDEA-128846 和 https:// youtrack.jetbrains.com/issue/IDEA-152555

在这种情况下,我似乎正在处理一个没有关联的 pom 文件的 jar(在我们的 maven nexus 存储库中,还有我的本地存储库)。如果这也是你的问题,“当前的解决方法:如果你实际上不需要在你自己的代码中使用那个 jar 中的类(例如仅传递 maven 依赖项),你实际上可以从 pom 中注释掉它(暂时),maven 项目重新加载,然后取消注释。不知何故,在那之后 IntelliJ“记住”它的旧工作依赖项。如果您从依赖项的传递链中遇到它,则临时添加一个 maven 传递排除也可能会这样做。 “

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

清除缓存

删除您的 intellij 缓存文件夹(windows:HOMEPATH/.{IntellijIdea,IdeaC}XXX linux ~/.IdeaIC15)和/或卸载并重新安装 IntelliJ 本身。这也可以通过转到文件 [菜单] -> Invalidate Caches / Restart... 来完成。单击 invalidate and restart 。这将重新索引您的整个项目并解决许多 IntelliJ 难以追踪的问题。

原文由 rogerdpack 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏