簡體   English   中英

IntelliJ沒有在maven項目中加載傳遞依賴

[英]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

Maven自動導入彈出窗口

此選項可在Preferences > Maven > Importing > [x] Import Maven projects automatically (默認情況下未選中):

在此輸入圖像描述

對我來說有用的是改變使用maven(Intellij)版本並使用我之前安裝在我的機器上的最新版本。

我遇到了類似的問題。 以下命令解決了該問題。 它將所有依賴關系jar下載到我的IDEA項目中。

mvn -U idea:idea

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM