Import Maven dependencies in IntelliJ IDEA

2022-08-31 05:49:21

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

enter image description here

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

更新:在进行了一些修改后,我发现了如何以某种方式解决我的问题。这就是我所做的:enter image description here

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


答案 1

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

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

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

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

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

IntelliJ 2016 更新

导入 Maven 项目”设置已移至 IntelliJ 首选项中的“生成”、“执行”、“部署>生成工具> Maven >导入”。


答案 2

在 IntelliJ 14 之前修复

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

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

修复 IntelliJ 15+

这次使用IntelliJ 15再次遇到这种情况,它不再具有“使用maven3导入”选项。原因是有时IntelliJ“不能正确解析maven依赖项”,如果它不能正确解析其中一个,显然它会放弃所有这些依赖项。您可以通过打开 maven 项目工具窗口(“视图”菜单 ->工具窗口 -> Maven 项目)来判断是否属于这种情况。然后展开其中一个 maven 项目及其依赖项。如果依赖项全部用红色下划线标出,则为“休斯顿,我们有问题”。enter image description here

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

enter image description here

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

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

另一件可能有帮助的事情是使用比捆绑的3.0.5“更新版本”的maven。为了将其设置为将其设置为默认使用,请关闭所有 intellij 窗口,然后打开首选项 ->构建,执行和部署 ->构建工具 -> maven,并更改 maven 主目录,当您调整此内容时,它应该在顶部显示“对于默认项目”,尽管您也可以针对特定项目进行调整, 只要您在调整后“重新导入”。

清除缓存

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


推荐