Ограничения зависимостей Gradle не применяютсяJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ограничения зависимостей Gradle не применяются

Сообщение Anonymous »

У меня есть следующее в моем конфигурации Gradle: < /p>

Код: Выделить всё

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 dependencyInsight --dependency org.apache.logging.log4j

> Task :dependencyInsight
org.apache.logging.log4j:log4j-api:2.13.3
variant "compile" [
org.gradle.status                  = release (not requested)
org.gradle.usage                   = java-api
org.gradle.libraryelements         = jar (compatible with: classes+resources)
org.gradle.category                = library

Requested attributes not found in the selected variant:
org.gradle.dependency.bundling     = external
org.gradle.jvm.environment         = standard-jvm
org.jetbrains.kotlin.platform.type = jvm
org.gradle.jvm.version             = 13
]
Selection reasons:
- Selected by rule
- By constraint : CVE-2021-44228 Log4j 2 Vulnerability

org.apache.logging.log4j:log4j-api:{strictly [2.15; prefer 2.15.0} -> 2.13.3
\--- compileClasspath

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 
, а также требуется ограничениями. p>-< /p>
upd: < /p>
для простоты я изменил ограничения на: < /p>

Код: Выделить всё

    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")
}
По-прежнему нет эффекта

Подробнее здесь: https://stackoverflow.com/questions/703 ... ot-applied
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»