Intellij idea 无法解决 maven 中的任何问题

Posted

技术标签:

【中文标题】Intellij idea 无法解决 maven 中的任何问题【英文标题】:Intellij idea cannot resolve anything in maven 【发布时间】:2013-03-21 13:52:03 【问题描述】:

我是 Intellij Idea 的新手,我只是用 pom.xml 导入了一个项目,但 ide 没有解决 maven 依赖项中的任何问题。

在代码中导入时,pom.xml 依赖项中定义的任何内容都会引发错误cannot resolve symbol xxxxx

但是mvn install 可以工作,我尝试在.jar 文件中导入Project Settings/Libraries 中的依赖项,然后它可以工作,但是ide 可以解析pom.xml 中定义的库吗?我不想每次都这样做。

附加信息:

IDEA 版本:12.0.3,操作系统:windows 7,重新导入不起作用,maven 版本:3.0.4,外部库下不存在 maven 依赖项。

idea.log 中没有异常...

【问题讨论】:

IDEA 版本? idea.log 中是否有任何相关异常?马文版?你使用什么操作系统?重新导入按钮在Maven Projects 工具窗口中是否有效?看到Project ViewExternal Libraries节点下的依赖了吗? IDEA 版本:12.0.3,操作系统:windows 7,重新导入不起作用,maven 版本:3.0.4,外部库下不存在 maven 依赖项。 idea.log中没有异常... 试试IDEA 12.1,启用Settings中的Maven 3 | Maven | Importing,网络配置may also affect it。 感谢您的回答,现在可以了,但是还有一个问题:在tomcat中运行时,不会部署scope=system的依赖项。 【参考方案1】:

在 IntelliJ 12.1.4 中,我检查了 Settings --> Maven --> Importing 并确保选择了以下内容:

    自动导入 Maven 项目 为聚合器项目创建 IDEA 模块 保留源代码... 排除构建目录... 使用 Maven 输出... 生成的源文件夹:“自动检测” 阶段...:“流程资源” 自动下载:“来源”和“文档” 使用 Maven3 导入项目 导入器的 VM 选项:-Xmx512m

这使我从有很多未解决的导入语句到解决所有问题。我认为这里的关键是使用 Maven3 导入项目...希望这会有所帮助。

【讨论】:

这很好,但我还必须将项目加载为 Maven 项目 - 选择文件 |打开你的 pom.xml 并等待。 这个答案和第一条评论都解决了我的问题。谢谢大家! 我需要进一步增加导入器的内存,最后选择了 -Xmx4096m(这是一个大项目)。这与idea.vmoptions中的内存设置不同 谢谢,我遇到了一个问题,即 Maven 3.0.5(捆绑)会导致没有 maven 依赖项被导入,但更新为使用 3.3.9 允许所有依赖项正确导入。 不知道为什么 IDEA 没有类似于 Eclipse 的上下文菜单来构建基于 maven 的项目。对于 2017.2 版,您需要执行文件 > 其他设置 > 默认设置 > 在搜索字段中搜索 maven。与 Eclipse 相比,IDEA 的用户体验真的很差【参考方案2】:

我收到此错误是因为我的项目设置不正确。它已将 main 和 test 文件夹作为模块导入。当我删除 2 个模块(但将它们保留为源和测试文件夹)时,我的代码开始正确编译。

【讨论】:

【参考方案3】:

我也遇到过这个问题,idea无法使用maven下载所有依赖的jar包,我只是尝试了以下操作:

 mvn -U idea:idea

然后所有依赖的jar包都从maven仓库下载

请注意,idea 插件已停用

【讨论】:

注意:此插件已停用。它不再维护。 maven.apache.org/plugins/maven-idea-plugin 此页面中唯一对我也有效的解决方案! 有人能解释一下为什么会这样吗?尽管在 2017 年 12 月停用了插件,但这对我来说是唯一好的解决方案。 成功了。虽然已经退役。但是,它甚至在今天仍然有效。 intellij idea(付费版)没有这个问题,但是社区版有这个问题【参考方案4】:

我也收到此错误,因为项目将主文件夹和测试文件夹作为模块导入。单击项目 --> 按 F4 --> 在模块设置中,删除主文件夹和测试文件夹,然后再次创建项目。问题将得到解决。

【讨论】:

在将现有 Maven 项目导入 IntelliJ 14.0.3 并在导入过程中选择所有默认选项后,这也是我的问题。 经过数小时的搜索,这对我有用。祝福! 这对我也有用!有谁知道为什么这会破坏分辨率? 这对我有用,这是我尝试过的最简单的方法。谢谢! +1 ...这完全对我有用。一切似乎都设置得很好,读取了 pom.xml,存在库,但需要这样做才能消除错误。【参考方案5】:

对我来说,我必须在 Setting> Maven>Importing 下选中“自动导入 maven 项目”框的问题

【讨论】:

谢谢!仍然是 Intellij IDEA 2016 的最新解决方案。Maven 导入允许无缝打开现有 maven 项目,这与导致多个依赖问题的项目打开不同!【参考方案6】:

Settings -> Maven -> Repositories 中仅显示在我的设置中配置的一些存储库。

解决方法

这可能是一个错误(Idea 13.1.5 Ultimate)。它帮助我切换镜子。没有出现在顶部的那个。

【讨论】:

【参考方案7】:

IntelliJ 更新后也遇到了同样的问题。我的修复:右键单击项目,然后 maven -> 重新导入。

【讨论】:

【参考方案8】:

我和作者有同样的问题!

为了解决我的问题,我必须添加 Maven 集成插件:文件 |设置 |插件

像这样:

之后,Intellij 从 pom.xml 文件中下载了所有依赖项。

现在如果我想创建一个基于 maven 模型的项目,我只需在第一个 Intellij 窗口上选择 Open 并选择 pom.xml 文件:

【讨论】:

这对我有用。出于某种原因,我只尝试过导入项目(一个包含许多子模块的大型 Maven 项目)。【参考方案9】:

我在使用 IntelliJ 14 捆绑的 Maven 3 实例时遇到了这个问题。

我切换到使用我自己的本地 Maven 实例,通过:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

然后将路径添加到我本地安装的实例。

这让依赖项神奇地出现了。

【讨论】:

难以置信。经过很多头痛之后,这个对我有用。我从互联网上下载了 maven 3.5。非常感谢!! 拯救了我的一天!!谢谢康纳 哇,在做了这个技巧之后,感觉好像有什么东西在想法里畅通了。谢谢康纳。 天啊,我从没想过不必使用捆绑版本的 maven 并使用我自己的。在花了几个小时尝试各种事情后,它完全奏效了。 超级!!这就像微风一样。非常感谢您的帮助。【参考方案10】:

如果您在 IntelliJ 中导入了 maven 项目并且由于 maven 导入未得到解决而出现错误,这可能是因为您可能正在使用自定义 maven settings.xml。我尝试在 Intellij 默认 maven 设置中覆盖它,但它没有帮助。最后我不得不将它保存在 ~/.m2/settings.xml 中,然后 IntelliJ 终于兑现了它。

【讨论】:

这是默认设置,是吗?【参考方案11】:

3 个简单步骤:IntelliJ 14:

    文件>设置>构建、执行、部署>构建工具

    选择 Maven

    Maven 主目录:C:/Program Files/apache-maven-3.3.3(您的等效位置)

【讨论】:

【参考方案12】:

我已经尝试了几个选项,但是这个最终解决了我的问题。我在 IntelliJ 中按照以下步骤重新导入了项目

    文件 -> 新建 -> 现有存储库中的项目

    从“选择要导入的文件或目录”中选择您的项目

    在下一个屏幕中选择“从外部模型导入项目”,然后选择“Maven”。

    在下一步中,单击复选框“自动导入 Maven 项目”,(这解决了我的问题) 如有必要,通过选择配置文件来完成

对我来说,重新导入 maven 项目并没有解决现有项目的问题。

【讨论】:

【参考方案13】:

在 IntelliJ 16.1.4 中,我遇到了同样的问题。 你应该看看事件日志,因为它告诉我“找到了非托管 pom.xml 文件:...”然后我点击它,问题就解决了。

【讨论】:

【参考方案14】:

请记住,IntelliJ 会将本地 Maven 安装的类添加到其自己的类路径中,因此请保持最新。

在我的例子中,IntelliJ 尝试调用方法 org.eclipse.aether.util.ConfigUtils.getFloat()。这导致了java.lang.NoSuchMethodError,因为我多年前的 Maven 版本还没有包含这个方法。由于异常 IntelliJ 停止解析依赖项。

更新 Maven 后,您必须更改“构建、执行、部署”->“Maven”中的“Maven 主目录”设置。之后必须重启 IntelliJ,因为 IntelliJ 的 JVM 的类路径在运行时不会改变。

我花了一些时间来解决这个问题,因为我没想到 IntelliJ 会使用我本地 Maven 安装的类。我认为它使用自己捆绑的 JAR。所以希望这些信息对其他人有所帮助。

【讨论】:

【参考方案15】:

workspace.xml 中的<option name="workOffline" value="true" /> 不是你的朋友。建议在删除您的 .idea 之前检查这一点(其中有很多您可能不想丢失的有用设置)

这是一个 maven workspace.xml 设置

【讨论】:

【参考方案16】:

我在 Users/.../.m2/settings.xml 中有空的 settings.xml 文件。当我添加

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

所有依赖项都已加载

【讨论】:

【参考方案17】:

在我看来,这个问题的解决方案很多,而且看起来有点像魔术。对我来说,缓存失效、重新导入或其他任何已经提到的东西都不起作用。 唯一有帮助的是(无需重新导入)转到 Maven 设置,取消选中自动导入并重新检查。

【讨论】:

【参考方案18】:
    关闭 IntelliJ 打开同一个项目 项目加载后,右下角会弹出non-managed pom.xml file found,点击后会弹出新的add as maven project,点击完成。

【讨论】:

【参考方案19】:

捆绑的 Maven 版本存在问题。 正如之前有人建议的那样,我切换到我自己的 Maven 安装和依赖项神奇地工作(IntelliJ 2018.3)

【讨论】:

【参考方案20】:

在我的例子中,我扩展了右侧的 maven 项目面板,单击 + 并添加了项目。然后就成功了。

【讨论】:

【参考方案21】:

我刚刚在将&lt;dependency&gt;...&lt;/dependency&gt; 元素添加到&lt;profile&gt; 时遇到了这个问题。我刚刚发现,如果我将未解析的依赖元素添加(插入)到&lt;dependencies&gt; 元素中,则依赖关系将从 maven 存储库中下载;然后我可以从依赖项元素中删除依赖项元素。

【讨论】:

【参考方案22】:

使用默认的 maven(IntelliJ 附带)也可能会产生这个问题。所以配置你已经安装的maven。

这可以通过以下方式完成: 文件 -> 设置 -> 构建、执行、部署 -> Maven

根据您的 maven 安装更新以下设置:

    Maven 主目录 = 用户设置文件 = 本地存储库 =

【讨论】:

【参考方案23】:

好的,我已经面临这个问题好几天了。试图导入 POI 库和 Simple JSON 库,我尝试了所有建议的答案和解决方案,但没有任何效果。最后,我的案例的解决方案非常简单

在将依赖项放入我的 POM 文件后,我只需将以下内容添加到我的 module-info.java 文件中:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

所以我认为因为我的项目位于模块中的包中,所以我必须这样做以让系统知道将使用这些导入的库。很简单,将库名称放在你的 module-info.java 文件中的 require 之后

希望对你有用

【讨论】:

【参考方案24】:

如果您在 pom.xml 中有任何特定于您的组织的依赖项,那么您需要为您的项目更新 setting.xml 的路径,该路径默认设置为您在 Ubuntu 中的用户目录:/home/user/.m2/settings .xml ->(将其更改为您的 apache-maven conf 路径)

【讨论】:

【参考方案25】:

点击重新导入所有项目后,转到外部库并删除所有显示为 root 的库

【讨论】:

【参考方案26】:

我尝试了此线程中的所有其他建议,但没有任何效果 - 但是我发现 this thread from the Jetbrains site 并且他们的解决方案确实对我有用。我希望它也对你们中的一些人有所帮助。具体来说,这个建议奏效了:

关闭 IDE 删除 /Users/yourname/Library/Caches/IntelliJIdeaXXX/ 目录(无论您的版本是什么) 启动 IDE 并从头开始将项目重新导入为 Maven 项目

对我来说就像一个魅力,祝你好运! :波:

顺便说一句,我在 Mac 上使用 IntelliJ IDEA Ultimate 2020.2。

【讨论】:

【参考方案27】:

试试下面分享的maven命令吧!

mvn idea:idea

【讨论】:

【参考方案28】:

不幸的是,我遇到了同样的问题,我很困惑为什么会这样。我几乎尝试了此页面上的所有内容,但没有一个对我有用。

所以,我试图找到这个问题的根源;问题是(至少对我来说)我试图打开一个 maven 项目但没有识别出 pom 文件。 所以右键单击 pom 文件并选择“添加为 maven 项目”,然后右键单击项目 -> Maven -> 重新导入为我做了所有的魔法:)

希望这对某人有所帮助。

【讨论】:

【参考方案29】:

为了解决这个问题,我必须转到构建、执行、部署 -> 构建工具 -> Maven -> 导入并将 JDK 设置为导入到 JAVA_HOME!然后从 maven 设置中重新加载所有 maven 项目。现在所有导入都可以使用了!!

【讨论】:

【参考方案30】:

如果没有任何效果,那么您可以删除 .idea 目录并重新导入项目 :)

【讨论】:

以上是关于Intellij idea 无法解决 maven 中的任何问题的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA无法更新maven索引

IntelliJ Idea13无法创建maven模板

Intellij IDEA中Maven解决依赖失效

如何解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol

解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol

IntelliJ IDEA 无法正确识别 Module