作為 Log4jshell 問題的一部分,我們試圖分析哪些專案使用了哪個版本的 Log4j。我確實嘗試了以下 Maven 命令
mvn dependency:list | grep log4j
mvn dependency:tree -Dverbose
mvn dependency:tree -Dverbose | grep log4
但它只列出這樣的資訊
mvn dependency:tree | grep log4
[INFO] \- org.apache.logging.log4j:log4j-api:jar:2.13.1:provided
[INFO] - org.apache.logging.log4j:log4j-api:jar:2.13.1:provided
[INFO] | | - log4j:log4j:jar:1.2.16:compile
[INFO] | | - log4j:log4j:jar:1.2.16:compile
[INFO] | - log4j:log4j:jar:1.2.17:provided
[INFO] - log4j:log4j:jar:1.2.17:compile
[INFO] - org.apache.logging.log4j:log4j-api:jar:2.13.1:compile
[INFO] \- org.apache.logging.log4j:log4j-core:jar:2.13.1:compile
[INFO] - org.apache.logging.log4j:log4j-api:jar:2.13.1:compile
[INFO] - org.apache.logging.log4j:log4j-core:jar:2.13.1:compile
[INFO] - org.springframework.boot:spring-boot-starter-log4j2:jar:2.1.8.RELEASE:compile
[INFO] | - org.apache.logging.log4j:log4j-slf4j-impl:jar:2.11.2:compile
[INFO] | - org.apache.logging.log4j:log4j-jul:jar:2.11.2:compile
[INFO] - org.springframework.boot:spring-boot-starter-log4j2:jar:2.1.8.RELEASE:compile
我找不到它指向我們作業區中的哪個專案。任何人都可以幫忙嗎?
注意:有幾個 maven 專案,所有 pom.xml 檔案都有一個父 pom.xml。所以想確定哪些 Maven 專案正在使用 log4j 以及名稱。
uj5u.com熱心網友回復:
使用包含選項
mvn dependency:tree -Dincludes=org.apache.logging.log4j
示例輸出:
[INFO] com.test:test:jar:0.0.1-SNAPSHOT
[INFO] \- org.springframework.boot:spring-boot-starter-security:jar:2.5.3:compile
[INFO] \- org.springframework.boot:spring-boot-starter:jar:2.5.3:compile
[INFO] \- org.springframework.boot:spring-boot-starter-logging:jar:2.5.3:compile
[INFO] \- org.apache.logging.log4j:log4j-to-slf4j:jar:2.14.1:compile
[INFO] \- org.apache.logging.log4j:log4j-api:jar:2.14.1:compile
檔案
uj5u.com熱心網友回復:
謝謝你的回答。是的,它確實回答了我的問題。我使用了如下命令并得到了結果。
mvn 依賴項:tree -Dincludes=org.apache.logging.log4j -DoutputFile= pwd/maven-report-log4j.txt -DappendOutput=true
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/386412.html
