【发布时间】:2014-08-10 00:16:37
【问题描述】:
我创建了一个小型库,我们称之为lib。它依赖于另一个库,sublib,它在 Maven 中心可用:
lib/pom.xml:
<dependencies>
<dependency>
<groupId>3rdparty</groupId>
<artifactId>sublib</artifactId>
<version>x</version>
</dependency>
</dependencies>
现在我尝试在我的项目proj 中使用lib。我已将其设置为依赖项:
proj/pom.xml:
<dependencies>
<dependency>
<groupId>mynamespace</groupId>
<artifactId>lib</artifactId>
<version>y</version>
</dependency>
</dependencies>
当我运行mvn exec:java -D exec.mainClass=mynamespace.proj.Main 时,程序运行良好。
但是,如果我从 IntelliJ 运行它,我会收到以下错误:
java.lang.NoClassDefFoundError: 3rdparty/SomeSubLibClass
at mynamespace.SomeLibClass.method(SomeLibClass.java:100)
这似乎表明 IntelliJ 不加载传递 sublib 依赖项。我该如何解决这个问题?
【问题讨论】:
-
有时我必须右键单击文件树中的
pom.xml,然后选择maven > reimport。 (如果你还没有尝试过) -
@kuporific 谢谢,解决了!我已经尝试过“同步”和类似的选项,但还没有找到......如果你把它变成一个答案,我会接受它
-
在这种情况下,“同步”的意思是“与文件系统同步”,如果你脑子里有 Maven,这是不直观的。
标签: java maven intellij-idea