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 View
中External 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】:我刚刚在将<dependency>...</dependency>
元素添加到<profile>
时遇到了这个问题。我刚刚发现,如果我将未解析的依赖元素添加(插入)到<dependencies>
元素中,则依赖关系将从 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工程提示的Cannot Resolve Symbol