Java IntelliJ未在maven项目中加载可传递依赖项
我制作了一个小库,我们称之为Java IntelliJ未在maven项目中加载可传递依赖项,java,maven,intellij-idea,Java,Maven,Intellij Idea,我制作了一个小库,我们称之为lib。它依赖于另一个库,sublib,该库在Maven central中提供: lib/pom.xml: 第三方 亚基 x 现在我正试图在我的项目proj中使用lib。我已将其设置为依赖项: proj/pom.xml: mynamespace 解放党 Y 当我运行mvn exec:java-dexec.mainClass=mynamespace.proj.Main时,程序运行正常。 但是,如果从IntelliJ运行它,则会出现以下错误: java.lang.
lib
。它依赖于另一个库,sublib
,该库在Maven central中提供:
lib/pom.xml
:
第三方
亚基
x
现在我正试图在我的项目proj
中使用lib
。我已将其设置为依赖项:
proj/pom.xml
:
mynamespace
解放党
Y
当我运行mvn exec:java-dexec.mainClass=mynamespace.proj.Main
时,程序运行正常。
但是,如果从IntelliJ运行它,则会出现以下错误:
java.lang.NoClassDefFoundError:3rdparty/SomeSubLibClass
在mynamespace.SomeLibClass.method(SomeLibClass.java:100)中
这似乎表明IntelliJ没有加载可传递的
sublib
依赖项。如何解决此问题?您可以手动右键单击文件树中的pom.xml
文件,然后选择maven>reimport
有时你会看到一个弹出窗口,上面写着“Maven项目需要导入”;您应该选择启用自动导入
此选项可在首选项>Maven>导入>[x]自动导入Maven项目中找到(默认情况下未选中):
对我有用的是从使用maven(Intellij)版本到使用以前安装在我机器上的最新版本的变化。我也遇到了类似的问题。下面的命令解决了问题。它将所有依赖项jar下载到我的IDEA项目中
mvn -U idea:idea
有时我必须右键单击文件树中的pom.xml
,然后选择maven>reimport
。(以防你还没有试过这个)@kuporific谢谢,已经修好了!我已经尝试过“同步”和类似的选项,但还没有找到。。。如果你把它变成一个答案,我会接受它。在这个上下文中,“同步”意味着“与文件系统同步”,如果你的大脑中有Maven,这是不直观的。但是自动导入是打开的,所以这并没有解决问题。我很好奇,当重新导入并没有解决问题时,是否有人有办法解决这个问题。