Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntellijIDEA无法识别Maven依赖项中指定的类_Java_Maven_Intellij Idea - Fatal编程技术网

Java IntellijIDEA无法识别Maven依赖项中指定的类

Java IntellijIDEA无法识别Maven依赖项中指定的类,java,maven,intellij-idea,Java,Maven,Intellij Idea,我在IntellijIDEA有一个项目,是用Maven创建的。然后,我在Pom.xml文件中指定了一组依赖项和外部存储库 如果我执行“mvn安装”,该项目在命令行上构建得很好。当我打开IDE中的任何代码文件时,尽管它说Maven依赖项处理的所有类都无法识别——就像我从未将所需JAR添加到构建路径中的普通项目一样 我知道在我的EclipseMaven项目(而不是IntelliJ)中,它通常会在左侧显示一个额外的目录,上面写着“Maven依赖项”,并列出通过Maven拉入的JAR。我在这里看不到。我

我在IntellijIDEA有一个项目,是用Maven创建的。然后,我在Pom.xml文件中指定了一组依赖项和外部存储库

如果我执行“mvn安装”,该项目在命令行上构建得很好。当我打开IDE中的任何代码文件时,尽管它说Maven依赖项处理的所有类都无法识别——就像我从未将所需JAR添加到构建路径中的普通项目一样

我知道在我的EclipseMaven项目(而不是IntelliJ)中,它通常会在左侧显示一个额外的目录,上面写着“Maven依赖项”,并列出通过Maven拉入的JAR。我在这里看不到。我做错了什么


我的屏幕是这样的:


由于某种原因,重新导入没有起到作用。看了这个,


我设置了自动导入,然后问题就消失了;希望它能帮助其他人。谢谢大家的建议:)。

我遇到了类似的问题。对我来说,结果是我错误地导入了项目。我一直在做

import project
    <navigate to existing project and click top level directory>
    follow the wizard
导入项目
跟随向导
解决我的maven问题的方法是

import project
    <navigate to existing project and click the pom.xml
    follow the wizard
导入项目

在一台新电脑上安装IntelliJ IDEA后,我发现自己也有同样的问题

我必须更新远程maven存储库。(
Settings>Maven>Repositories


本地和远程回购协议都需要更新。在这之前,遥控器从未更新过。重启后,一切正常。您可能需要重新导入项目。

在将Intellij升级到1.4.15后,我也遇到了这种情况。我试图以相同的结果重新导入整个项目,但启用Maven自动导入成功了。

您可以转到:

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


并检查您的pom.xml是否不在“忽略的文件”列表中。

通过Intellij对存储库进行简单的重新导入和/或更新对我来说并不管用


相反,我不得不删除完整的
~/.m2/repository
目录,让maven自己来整理一切。之后
Maven->Reimport
完成了它。

看起来intelliJ忽略pom文件有几个有效的原因。 在我的案例中,前面的答案都不起作用,因此,如果其他人遇到这个问题,下面是有效的方法:

在本例中,IntelliJ完全忽略了模块3。该目录中的pom.xml甚至没有被视为maven pom

我的项目结构如下:

myProject
    module1
    module2
    module3
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>devs</groupId>
    <artifactId>myProject</artifactId>
    <version>0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>myProject</name>

    <modules>
        <module>module1</module>
        <module>module2</module>
    <modules>

    <profiles>
        <profile>
            <id>CompleteBuildProfile</id>
            <modules>
                <module>module3</module>
            </modules>
        </profile>
    </profiles>
</project>
但是,我的(简化的)pom结构如下:

myProject
    module1
    module2
    module3
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>devs</groupId>
    <artifactId>myProject</artifactId>
    <version>0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>myProject</name>

    <modules>
        <module>module1</module>
        <module>module2</module>
    <modules>

    <profiles>
        <profile>
            <id>CompleteBuildProfile</id>
            <modules>
                <module>module3</module>
            </modules>
        </profile>
    </profiles>
</project>

4.0.0
开发人员
我的项目
0.0-快照
聚甲醛
我的项目
模块1
模2
CompleteBuildProfile
模块3
为了解决这个问题,我临时修改了root
元素以添加到module3中

    <modules>
        <module>module1</module>
        <module>module2</module>
        <module>module3</module>
    <modules>

模块1
模2
模块3
接下来重新导入根pom,IntelliJ将添加模块。 完成后,恢复pom。IntelliJ将询问您是否还希望从项目结构中删除
module3
。单击
No


砰!完成。模块3工作,我可以再次从IntelliJ运行集成测试:D

这个问题是由于我在第一次启动IntelliJ时选择了要导入的项目目录,而不是项目的
pom.xml
文件


关闭问题项目,然后再次执行导入过程,但选择
pom.xml
会导致IDE中的项目完全正常工作。

在我的例子中,问题是项目在maven2中,而intellj是为maven3配置的。在设置中切换到maven2解决了问题

对我来说,问题似乎与maven helper插件()冲突

我禁用它,它会再次工作:)

转到 文件>设置>构建、执行、部署>构建工具>Maven
并检查Maven主目录。这应该与命令行中使用的maven安装相同

可能对像我这样的人有用。 建议的修复方案都不起作用。事实上,在我解决了主要问题之前,maven的安装位置问题

在我的例子中,我没有使用标准位置。在maven设置(settings/maven/maven home repository)中更改该位置就成功了


我的2美分。

对我来说,诀窍是在文件>项目设置>模块>依赖项中添加依赖项。

对我来说,文件>>无效缓存/重新启动>>无效和重新启动在IntelliJ中工作

出于我不理解的原因,在我的情况下,我需要在构建、执行和执行中打开“始终更新快照”设置,部署>构建工具>Maven


这使得IntelliJ重新下载依赖项并使其工作。

缓存导致了问题!确保执行以下操作:

在终端中,转到项目/模块:

mvn clean install
在您的IntelliJ中:

  • 文件>无效缓存>无效

  • 右键单击project/module>Maven>Reimport


  • 只需删除项目的.idea文件夹,然后在IntelliJ中重新导入项目。

    如果pom.xml中存在特定于组织的依赖项,则需要更新项目的setting.xml路径,该路径默认设置为Ubuntu中的用户目录:/home/user/.m2/settings.xml->(将其更改为ApacheMaven配置路径)

    转到->intellij设置->构建、执行、部署->构建工具->Maven->用户设置文件


    就我的情况而言,我应该离线检查工作

    转到文件>设置>生成、执行、部署>生成工具>Maven
    然后检查脱机工作

    重新启动、无效缓存、退出