【问题标题】:get rid of log4j 1.2.12 from cache从缓存中删除 log4j 1.2.12
【发布时间】:2020-06-25 18:21:05
【问题描述】:

由于漏洞,我需要摆脱 log4j v1.2.12。我的应用是 spring boot 2,我的 gradle 中有:

configurations.all {
exclude group: 'log4j', module: 'log4j'

} 我清除了缓存,在我的项目上运行构建,然后这个库再次出现:

.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.12

当我跑步时

gradle -q dependencyInsight --configuration compile --dependency log4j

它没有显示我使用该版本的 log4j。与项目的整个依赖关系树相同,此版本的 log4j 没有出现。 这里发生了什么?我该如何摆脱它?

通过什么方式查看gradle如何构建我的本地缓存?

【问题讨论】:

    标签: java spring-boot gradle log4j


    【解决方案1】:

    Gradle 缓存不仅仅反映您的项目。它可能来自您构建的任何其他项目或其他传递依赖项。对于您的项目 - 您还可以生成 htmlDependencyReport 并检查来自

    plugins {
        id 'project-report'
    } 
    

    https://docs.gradle.org/current/userguide/project_report_plugin.html

    【讨论】:

    • 谢谢。我删除了缓存并只构建了一个项目。应该没有其他项目有助于创建缓存。
    • 我试过这个:configurations.all { resolutionStrategy { force 'log4j:log4j:1.2.17' } } 依赖报告向我显示 log4j:log4j:1.2.17 但缓存只有 .gradle /caches/modules-2/files-2.1/log4j/log4j/1.2.12 目录。我在这里错过了一些东西。帮助。
    • 如果您询问有关 1.2.17 -> 1.2.12 的问题,则依赖报告中将有版本解析的原因;某些依赖项正在强制降级
    • PrasadU,在报告 log4j 版本 1.2.12 中没有指出。但是,它已加载到我的本地缓存中。
    猜你喜欢
    • 2023-02-14
    • 1970-01-01
    • 2013-04-04
    • 2013-01-14
    • 1970-01-01
    • 2014-08-18
    • 2017-07-04
    • 1970-01-01
    • 2011-02-23
    相关资源
    最近更新 更多