簡體   English   中英

使用 log4j2 2.15.0 重建 jar 文件並重新部署 jar 后,舊版本的 log4j2.11.1 即將到來

[英]After rebuild the jar file with log4j2 2.15.0 and redeploy the jar again old version of log4j2.11.1 is coming

我在 pom.xml 文件中添加了 log4j2 2.15.0 版本,並在 class 文件中使用了 Logger maneger。 然后在服務器中部署 jar 和 lib 文件夾,但在 1 天或更晚的時間后,當我要再次檢查 lib 文件夾時,舊版本的 log4j 核心和 log4j-api (2.11.1) 出現在 lib 文件夾中,所以版本 2.11.1 和 2.15.0 都存在。 為什么會這樣,有人可以解釋一下嗎?

這可能是因為 Jar/lib 中的 log4j 版本 2.11.1 可能是 pom.xml 中添加的實際依賴項的傳遞依賴項的一部分。

go 到您的項目目錄,其中 pom.xml 是 cmd --> 運行命令 --> 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 全新安裝后可以填充基於正確版本的庫。

暫無
暫無

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

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