我在IntellijIDEA中有一个用Maven创建的项目。然后,我在Pom.xml文件中指定了一组依赖项和外部存储库。
如果我执行“mvn install”,项目在命令行上可以正常运行。当我打开IDE中的任何代码文件时,虽然它表示Maven依赖项处理的所有类都无法识别 - 如果我从未将所需的JAR添加到构建路径,那么它将用于普通项目。
我知道在我的Eclipse Maven项目(而不是IntelliJ)中,它通常会在左侧显示一个额外的目录,上面写着“Maven Dependencies”,并列出了通过maven引入的JAR。我在这里看不到。我做错了什么?
以下是我的屏幕:
答案 0 :(得分:29)
由于某些原因,重新导入没有成功。看了之后:
http://www.jetbrains.com/idea/webhelp/maven-importing.html
我设置了自动导入,然后问题就消失了;希望它能帮助别人。感谢大家的想法:)。
答案 1 :(得分:27)
在新计算机上安装IntelliJ IDEA后,我发现自己遇到了同样的问题。
我不得不更新远程maven存储库。 (Settings > Maven > Repositories
)
需要更新本地和远程回购。远程的那个在此之前没有更新过。重启后一切正常。您可能必须重新导入您的项目。
答案 2 :(得分:19)
我遇到了类似的问题。对我而言,最终我正在错误地导入项目。我一直在做
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
答案 3 :(得分:18)
你可以去:
档案&gt;设置&gt;构建,执行,部署&gt;构建工具&gt;行家
并检查您的pom.xml是否不在“忽略的文件”列表中。
答案 4 :(得分:5)
对于我来说,文件>>使缓存/重新启动无效>>在IntelliJ中使无效和重新启动工作
答案 5 :(得分:3)
通过Intellij对存储库进行简单的重新导入和/或更新对我来说无法解决问题。
相反,我必须删除完整的~/.m2/repository
目录,并让maven自行排序。之后Maven -> Reimport
完成了它。
答案 6 :(得分:2)
在我的情况下,问题是项目是在maven2中,而intellj是为maven3配置的。在设置中切换到maven2解决了问题
答案 7 :(得分:2)
几天前遇到了“相同”的问题。这可能无关紧要,因为我的问题更特定于Spring引导,但是由于我在努力挣扎,并尝试了本文中的所有解决方案,因此我将分享我的经验。
我试图做的是将我的spring boot应用程序之一添加到另一个项目中,作为maven依赖项。依存关系已解决,但我无法访问我的班级。
当未声明任何包装时,Maven假定默认包装为JAR。 Spring Boot Maven插件生成的JAR会覆盖Maven生成的默认JAR。
解决方案是:
我们找到的解决方案是生成另一个JAR,它将用作从其他项目中导入的依赖项。
完整的article可以帮助我解决问题。
希望它可以帮助某人。
答案 8 :(得分:2)
将Maven项目重构为不同的模块后,我遇到了类似的问题。自行重新导入通常是行不通的,但是我发现删除.iml文件然后重新导入通常可以解决问题。
答案 9 :(得分:1)
转到 文件&gt;设置&gt;构建,执行,部署&gt;构建工具&gt; Maven的 并检查Maven主目录。这应该与用于命令行的maven安装相同
答案 10 :(得分:1)
对于像我这样仍然困扰的其他人可能会有用。 没有任何建议的修复工作。实际上,在我解决主要问题之前,不是在maven的安装位置。
就我而言,我没有使用标准位置。在maven设置中更改该位置(设置/ Maven / Maven主存储库)就可以了。
我的2美分。
答案 11 :(得分:1)
缓存导致问题!确保执行以下操作:
在您的终端中,转到项目/模块:
mvn clean install
在您的IntelliJ中:
文件>无效的缓存>无效
右键单击项目/模块> Maven>重新导入
答案 12 :(得分:0)
导入新项目时:
1.将项目中的所有模块标识为maven模块: 文件 ---> 新建项目设置 --> 构建执行部署 --> 构建工具 --> maven ---> 导入 ---> 启用“递归搜索项目”
答案 13 :(得分:0)
我遇到了这个问题,想法无法使用maven下载所有依赖的jar包,我只是尝试了以下操作:
MVN -U idea:idea
然后从maven存储库下载所有依赖的jar包
答案 14 :(得分:0)
答案 15 :(得分:0)
重新启动,无效的缓存,外部建筑物,没有一个对我有用。
只有重新导入最终可以工作。出于其他原因,将其作为答案:
Right click the project > Maven > Reimport
答案 16 :(得分:0)
对于我来说,我应该离线检查工作
转到“文件”>“设置”>“构建,执行,部署”>“构建工具”> Maven 然后选中脱机工作
答案 17 :(得分:0)
如果在特定于组织的pom.xml中具有任何依赖关系,则需要更新项目的setting.xml路径,该路径默认情况下设置为Ubuntu中的用户目录:/home/user/.m2/settings .xml->(将其更改为您的apache-maven conf路径)
转到-> intellij设置->构建,执行,部署->构建工具-> Maven->用户设置文件
答案 18 :(得分:0)
只需删除项目的.idea文件夹,然后将项目重新导入IntelliJ中即可。
答案 19 :(得分:0)
出于我不了解的原因,就我而言,我需要在“构建”,“执行”,“部署”>“构建工具”>“ Maven”中启用“始终更新快照”设置。
这使IntelliJ重新下载了依赖关系并使其工作。
答案 20 :(得分:0)
对我来说,诀窍是在File&gt;中添加依赖项。项目设置&gt;模块&gt;的依赖关系。
答案 21 :(得分:0)
对我来说,这个问题似乎与maven helper插件(https://plugins.jetbrains.com/plugin/7179?pr=idea)有冲突。
我禁用它,它再次起作用:)
答案 22 :(得分:0)
首次启动IntelliJ而不是项目的#1)if /cover1.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover1\.png !-f
#redirect "/cover1.png" to "/cover2.png"
RewriteRule ^ /cover2\.png [NC,L,R]
#2)if /cover2.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover2\.png !-f
#redirect "/cover2.png" to "/default.png"
RewriteRule ^ /default.png [NC,L,R]
文件时,选择要导入的项目目录,导致了我的问题。
关闭问题项目,然后再次执行导入过程,但选择pom.xml
会导致IDE中的工作完全正常。
答案 23 :(得分:0)
看起来有几个有效的理由说明为什么intelliJ会忽略pom文件。 以前的答案都不适用于我的情况,所以这里有什么工作,以防其他人遇到这个问题:
在此示例中,IntelliJ完全忽略了module3。该目录中的pom.xml甚至不被视为maven pom。
我的项目结构是这样的:
myProject
module1
module2
module3
但是,我的(简化)pom结构是这样的:
<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>
为了解决这个问题,我修改了根<modules>
元素以暂时添加到module3中。</ p>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<modules>
接下来重新导入根pom,IntelliJ将添加模块。
完成后,还原pom。 IntelliJ将询问您是否还要从项目结构中删除module3
。点击No
。
的Bam!完成。 Module3工作,我可以再次从IntelliJ运行我的集成测试:D
答案 24 :(得分:0)
将Intellij升级到1.4.15之后,这也发生在我身上。我试图以相同的结果重新导入整个项目,但启用Maven Auto Import做了一些技巧。