我在 pom.xml 檔案中添加了 log4j2 2.15.0 版本,并在類檔案中使用了 Logger maneger。然后在服務器中部署 jar 和 lib 檔案夾,但在 1 天或更晚的時間后,當我要再次檢查 lib 檔案夾時,舊版本的 log4j 核心和 log4j-api (2.11.1) 存在于 lib 檔案夾中,所以版本 2.11.1 和 2.15.0 都存在。為什么會這樣,有人可以解釋嗎?
uj5u.com熱心網友回復:
這可能是因為 Jar/lib 中的 log4j 版本 2.11.1 可能是 pom.xml 中添加的實際依賴項的傳遞依賴項的一部分。
轉到 pom.xml 所在的專案目錄 cmd --> run command --> mvn dependency:tree >>checkDep.txt
將在您的專案根目錄中生成一個名為 checkDep.txt 的檔案 --> 打開并搜索 2.11.1。
您將能夠找到持有 log4j 舊版本的實際依賴項。之后,您可以通過在 pom.xml 中為您的實際依賴項撰寫以下代碼來排除該傳遞依賴項
<dependency>
<groupId>sample.group</groupId>
<artifactId>sample-artifactB</artifactId>
<version>1</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.1</version>
</exclusion>
</exclusions>
</dependency>
話雖如此,我強烈建議清除存在的 Log4j 庫,以便在 maven 全新安裝之后可以填充正確的基于版本的庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/444870.html
