dependencies {
implementation "org.slf4j:slf4j-api:1.7.32"
implementation "org.apache.logging.log4j:log4j-slf4j-impl:2.15.0"
implementation "org.slf4j:jul-to-slf4j:1.7.32"
implementation "org.slf4j:jcl-over-slf4j:1.7.32"
constraints {
add("implementation", "org.apache.logging.log4j:log4j-core") {
version {
strictly("[2.15")
prefer("2.15.0")
}
because("CVE-2021-44228 Log4j 2 Vulnerability")
}
add("implementation", "org.apache.logging.log4j:log4j-api") {
version {
strictly("[2.15")
prefer("2.15.0")
}
because("CVE-2021-44228 Log4j 2 Vulnerability")
}
}
}
< /code>
Хотя эта конфигурация не зависит от log4j напрямую, он имеет некоторые временные зависимости от log4j. И я ожидаю, что это обеспечит использование версии 2.15.0 или более поздней версии.$ gradle dependencies | grep log4j
+--- org.apache.logging.log4j:log4j-slf4j-impl:2.15.0
| \--- org.apache.logging.log4j:log4j-api:2.15.0 -> 2.13.3
.....
+--- org.apache.logging.log4j:log4j-api:{strictly [2.15; prefer 2.15.0} -> 2.13.3 (c)
\--- org.apache.logging.log4j:log4j-core:{strictly [2.15; prefer 2.15.0} -> 2.13.3 (c)
У меня есть следующее в моем конфигурации Gradle: < /p> [code]dependencies { implementation "org.slf4j:slf4j-api:1.7.32" implementation "org.apache.logging.log4j:log4j-slf4j-impl:2.15.0" implementation "org.slf4j:jul-to-slf4j:1.7.32" implementation "org.slf4j:jcl-over-slf4j:1.7.32"
constraints { add("implementation", "org.apache.logging.log4j:log4j-core") { version { strictly("[2.15") prefer("2.15.0") } because("CVE-2021-44228 Log4j 2 Vulnerability") } add("implementation", "org.apache.logging.log4j:log4j-api") { version { strictly("[2.15") prefer("2.15.0") } because("CVE-2021-44228 Log4j 2 Vulnerability") } } } < /code> Хотя эта конфигурация не зависит от log4j напрямую, он имеет некоторые временные зависимости от log4j. И я ожидаю, что это обеспечит использование версии 2.15.0 или более поздней версии.$ gradle dependencies | grep log4j +--- org.apache.logging.log4j:log4j-slf4j-impl:2.15.0 | \--- org.apache.logging.log4j:log4j-api:2.15.0 -> 2.13.3 ..... +--- org.apache.logging.log4j:log4j-api:{strictly [2.15; prefer 2.15.0} -> 2.13.3 (c) \--- org.apache.logging.log4j:log4j-core:{strictly [2.15; prefer 2.15.0} -> 2.13.3 (c) [/code] И [code]$ gradle dependencyInsight --dependency org.apache.logging.log4j
org.apache.logging.log4j:log4j-api:2.15.0 -> 2.13.3 \--- org.apache.logging.log4j:log4j-slf4j-impl:2.15.0 \--- compileClasspath < /code> Почему он понижается до версии 2.13.3? Даже если он был установлен как 2,15 для log4j-slf4j-impl [/code], а также требуется ограничениями. p>-< /p> upd: < /p> для простоты я изменил ограничения на: < /p> [code] add("implementation", "org.apache.logging.log4j:log4j-core:2.15.0") { because("CVE-2021-44228 Log4j 2 Vulnerability") } add("implementation", "org.apache.logging.log4j:log4j-api:2.15.0") { because("CVE-2021-44228 Log4j 2 Vulnerability") } [/code] По-прежнему нет эффекта