[英]IntelliJ not loading transitive dependency in maven project
我做了一個小型庫,我們稱它為lib
。 它取決於另一個庫, sublib
在Maven中心可用:
lib/pom.xml
:
<dependencies>
<dependency>
<groupId>3rdparty</groupId>
<artifactId>sublib</artifactId>
<version>x</version>
</dependency>
</dependencies>
現在,我嘗試使用lib
在我的項目proj
。 我把它設置為依賴:
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項目需要導入”; 您應該選擇Enable Auto-Import
。
此選項可在Preferences > Maven > Importing > [x] Import Maven projects automatically
(默認情況下未選中):
對我來說有用的是改變使用maven(Intellij)版本並使用我之前安裝在我的機器上的最新版本。
我遇到了類似的問題。 以下命令解決了該問題。 它將所有依賴關系jar下載到我的IDEA項目中。
mvn -U idea:idea
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.