我的Jenkins服务器中有这个log4j-1.2.12.jar文件路径:/data/jenkins/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar我从安全团队得到了这个Apache Log4j Unsupported Version Detection message,如何解决这个问题我试着下载了最新版本,但它类似于这个log4j-api-2.19.0.jar
log4j-1.2.12.jar
/data/jenkins/.m2/repository/log4j/log4j/1.2.12/log4j-1.2.12.jar
Apache Log4j Unsupported Version Detection message
log4j-api-2.19.0.jar
llmtgqce1#
不,不是“在Jenkins”,更准确地说,log4j不是Jenkins的一部分。Jenkins喝掉了${JENKINS_HOME}/war/WEB-INF/lib中爆发的战争的jar。它不在那里。
${JENKINS_HOME}/war/WEB-INF/lib
如果一个插件消耗了log4j,那么可以在${JENKINS_HOME}/plugins/<plugin_name>/WEB-INF/lib的分解插件目录中找到它。在JENKINS-67353下跟踪了log4j与大多数插件相关的状态。
${JENKINS_HOME}/plugins/<plugin_name>/WEB-INF/lib
您引用的是maven本地存储库,.m2/repository。此结构是在控制器上运行maven构建时创建的;依赖项JAR在构建的pom.xml(其中之一)中指定。
.m2/repository
pom.xml
注解中的指导是正确的;找到适当的pom.xml并更新它,然后重新构建。
您可以通过删除整个.m2目录(或移动/ZIP;如果您是偏执狂则删除)并重新启动Jenkins来验证这些声明。您会发现Jenkins运行得很好,并且目录仍然是空的。运行maven作业,它将重新填充,包括log4j-1.2.12.jar,假设它仍在pom.xml中指定。修复您的maven pom.xml,删除目录,重新运行您的作业,它应该不会再次出现。
.m2
也许您已经更新了pom.xml,但从未清除本地maven存储库,那么它将不会重新填充(您可以检查目录的时间戳,以了解它第一次/最后一次下载的时间)。
您还可以通过指定mvn dependency:purge-local-repository并添加-DreResolve=false来删除资料库的引用部分,以避免重新解析。当然,如果您已经更新了pom.xml, it would remain since it's not referenced in thepom.xml`(是的,如果有一个选项可以清除给定JAR的全部或大部分存储库或所有版本,那就更好了,但是...)。
mvn dependency:purge-local-repository
-DreResolve=false
, it would remain since it's not referenced in the
1条答案
按热度按时间llmtgqce1#
不,不是“在Jenkins”,更准确地说,log4j不是Jenkins的一部分。Jenkins喝掉了
${JENKINS_HOME}/war/WEB-INF/lib
中爆发的战争的jar。它不在那里。如果一个插件消耗了log4j,那么可以在
${JENKINS_HOME}/plugins/<plugin_name>/WEB-INF/lib
的分解插件目录中找到它。在JENKINS-67353下跟踪了log4j与大多数插件相关的状态。您引用的是maven本地存储库,
.m2/repository
。此结构是在控制器上运行maven构建时创建的;依赖项JAR在构建的pom.xml
(其中之一)中指定。注解中的指导是正确的;找到适当的pom.xml并更新它,然后重新构建。
您可以通过删除整个
.m2
目录(或移动/ZIP;如果您是偏执狂则删除)并重新启动Jenkins来验证这些声明。您会发现Jenkins运行得很好,并且目录仍然是空的。运行maven作业,它将重新填充,包括log4j-1.2.12.jar
,假设它仍在pom.xml中指定。修复您的maven pom.xml,删除目录,重新运行您的作业,它应该不会再次出现。也许您已经更新了pom.xml,但从未清除本地maven存储库,那么它将不会重新填充(您可以检查目录的时间戳,以了解它第一次/最后一次下载的时间)。
您还可以通过指定
mvn dependency:purge-local-repository
并添加-DreResolve=false
来删除资料库的引用部分,以避免重新解析。当然,如果您已经更新了pom.xml, it would remain since it's not referenced in the
pom.xml`(是的,如果有一个选项可以清除给定JAR的全部或大部分存储库或所有版本,那就更好了,但是...)。