作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我做了一个小库,我们称它为lib
。它依赖于另一个库,sublib
,它在 Maven central 中可用:
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
。
有时您会看到一个弹出窗口,提示“需要导入 Maven 项目”;您应该选择启用自动导入
。
这个选项可以在 Preferences > Maven > Importing > [x] Import Maven projects automatically
中找到(默认情况下未选中):
关于java - IntelliJ 没有在 Maven 项目中加载传递依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24306939/
我是一名优秀的程序员,十分优秀!