2017-08-26 273 views
-1

我已經構建了一個使用Log4J的jar。現在我在另一個jar中引用此jar但在Eclipse中我收到錯誤Java Maven Jar依賴關係

無法解析類型org.apache.logging.log4j.Logger。它是間接需要的.class文件

引用如果我不得不在第二罐中的Log4J依賴所有工作正常,但不是我所期望的。我期望從第一個jar中獲得依賴。

我在做什麼錯?

+1

分享您都第一和第二項目的pom.xml依賴 – nullpointer

+0

第一個JAR具有log4j的 \t org.apache.logging.log4j \t log4j的核心 \t 2.8.2 第二個罐子有第一個罐子 \t it.si斯內德 \t UTIL \t 系統 \t 0.0.1 \t C:\開發\ LIB \ UTIL-0.0.1.jar 我期待什麼,就像它發生了的log4j在第一個jar中,是我把dep4放在log4j上,maven從log4j知道還有什麼是必須的。 我不能用我的第一個罐子做。 –

回答

0

直接使用log4j的jar應該在它的POM中有依賴關係。

+0

*任何使用log4j的jar應該在它的POM中有一個依賴。這可能更明顯,並且不會有任何重複,因爲Maven足夠聰明。另外,使用第一個jar的jar應該在它的POM中擁有這個第一個jar的依賴 - 只有這樣,第一個jar的所有依賴才能在第二個jar中解析。 – Sam

+0

Maven支持傳遞依賴關係,因此只需要直接依賴它的jar的log4j依賴關係。 –

+0

您不必跟蹤傳遞性依賴關係。你可以包含你需要的所有東西,Maven不會創建重複的東西,因爲它實際上支持傳遞依賴。這就是我所說的 – Sam