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

时间:2013-03-31 07:26:15

标签: maven intellij-idea maven-3

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

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

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

附加信息:

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

idea.log中没有例外......

31 个答案:

答案 0 :(得分:104)

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

  1. 自动导入Maven项目
  2. 为聚合器项目创建IDEA模块
  3. 保持来源......
  4. 排除构建目录......
  5. 使用Maven输出...
  6. 生成的源文件夹:“自动检测”
  7. 阶段......:“process-resources”
  8. 自动下载:“来源”& “文档”
  9. 使用Maven3导入项目
    • 导入程序的VM选项:-Xmx512m
  10. 这让我从很多未解决的导入语句中解脱出来。我认为这里的关键是使用Maven3导入项目......希望这会有所帮助。

答案 1 :(得分:103)

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

 mvn -U idea:idea

然后从maven资源库下载所有相关的jar包

答案 2 :(得分:30)

我也遇到了这个错误,因为项目将main和test文件夹导入为模块。点击项目 - >按F4 - >在“模块”设置中,删除主文件夹和测试文件夹,然后重新生成项目。问题将得到解决。

答案 3 :(得分:28)

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

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

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

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

这使得依赖关系神奇地出现了。

enter image description here

答案 4 :(得分:8)

我尝试了几种选择,但这一次最终解决了我的问题。我按照IntelliJ中的以下步骤重新导入项目

  1. 文件 - >新 - >来自现有存储库的项目
  2. 从“选择要导入的文件或目录”

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

  5. 在下一步中,点击“自动导入Maven项目”复选框(这解决了我的问题)
  6. 必要时选择个人资料
  7. 完成

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

答案 5 :(得分:4)

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

答案 6 :(得分:4)

对我来说,问题是我必须在设置>下选中“自动导入maven项目”框。行家>导入

答案 7 :(得分:4)

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

答案 8 :(得分:3)

我和作者有同样的问题!

要解决我的问题,我必须添加Maven Integration Plugin:File |设置|插件

像这样:

Maven Integration Plugin

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

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

enter image description here

答案 9 :(得分:2)

我在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>

所有依赖都已加载

答案 10 :(得分:2)

  1. 关闭智能手机
  2. 打开相同的项目
  3. 在加载项目时,您会在右下角看到一个弹出窗口,显示“找到了非托管pom.xml文件”,如果您单击它,则会弹出一个新的弹出窗口,说添加maven项目,然后单击它,完成。

答案 11 :(得分:2)

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

答案 12 :(得分:1)

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

答案 13 :(得分:1)

经过长时间的反复试验,从忽略列表中取消选中 pom.xml 对我有用。

enter image description here

答案 14 :(得分:1)

在我的情况下,我扩展了右侧的Maven项目面板,单击+,然后添加了项目。然后它起作用了。

答案 15 :(得分:1)

设置 - &gt; Maven - &gt;存储库仅显示在我的设置中配置的某些存储库。

解决方法

这可能是一个错误(Idea 13.1.5 Ultimate)。它帮我切换了镜子。那个没有露面的人。

答案 16 :(得分:0)

在我看来,这个问题的解决方案很多,看起来有点神奇。对我来说,缓存失效,重新导入或已经提到的任何其他内容都无效。 唯一有帮助的是(没有重新导入)转到Maven设置,取消选中自动导入并重新检查它。

enter image description here

答案 17 :(得分:0)

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

这是一个maven workspace.xml设置

答案 18 :(得分:0)

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

答案 19 :(得分:0)

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

在我的案例中,IntelliJ试图调用方法org.eclipse.aether.util.ConfigUtils.getFloat()。这导致java.lang.NoSuchMethodError,因为我多年前的Maven版本还没有包含此方法。由于例外IntelliJ停止解决依赖关系。

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

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

答案 20 :(得分:0)

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

答案 21 :(得分:0)

使用默认的Maven(IntelliJ随附)也会导致此问题。因此,配置已安装的Maven。

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

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

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

答案 22 :(得分:0)

好吧,我几天来一直面对这个问题。在尝试导入POI库和简单JSON库时,我尝试了所有建议的答案和解决方案,但无济于事。最后,针对我的案例的解决方案非常简单

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

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

所以我想因为我的项目在模块的一个包中,所以我必须这样做以使系统知道将使用这些导入的库。如此简单,将库名放在require后面的module-info.java文件中

希望它对您有用

答案 23 :(得分:0)

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

Update Setting.xml file Intellij

答案 24 :(得分:0)

转到外部库,然后单击“重新导入所有项目”,然后删除所有显示为root的库

enter image description here

答案 25 :(得分:0)

我尝试了该线程中的所有其他建议,但没有任何效果-但是我发现this thread from the Jetbrains site及其解决方案确实对我有用。希望对您也有帮助。具体来说,该建议有效:

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

对我来说就像是一种魅力,祝你好运! :wave:

在我在Mac上使用IntelliJ IDEA Ultimate 2020.2的情况下。

答案 26 :(得分:0)

在下面共享的

try maven命令会起作用!

mvn idea:idea

答案 27 :(得分:0)

不幸的是,我遇到了同样的问题,我正在抓挠为什么会发生这种情况。我几乎尝试了此页面上的所有内容,但没有一个适合我。

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

希望这对某人有帮助。

答案 28 :(得分:0)

要解决此问题,我必须去构建,执行,部署->构建工具-> Maven->导入,并将JDK设置为要导入到JAVA_HOME!然后从Maven设置重新加载所有Maven项目。现在所有的进口都可以使用!

答案 29 :(得分:0)

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

答案 30 :(得分:0)

3个简单步骤:IntelliJ 14:

  1. 文件&gt;设置&gt;构建,执行,部署&gt;构建工具

  2. 选择Maven

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