当前位置: 首页 > 知识库问答 >
问题:

如何构建log4j2 2.8.2与最新的修复

东郭良弼
2023-03-14

我正在修复我的Jetty java应用程序的CVE-2021-44228和其他类似的log4j发现。

我试图升级到2.17.0,但不是我所有的应用程序都可以升级,因为其中一些依赖于旧版本的Jetty,由于多java版本的jars,它不能与新的log4j一起工作(请参阅错误扫描条目META-INF/版本/9/org/apache/日志/log4j/util/StackLocator.class码头和log4j 2.9.1?(

显然,我正在努力将这些应用程序升级到Jetty的最新版本,但这很复杂。这需要一些时间。

因此,我无法手动修改log4j2.8.2版本(不是多版本格式jar的最新版本)。

我已经修复了log4j文件{nolookups},并添加了命令行参数来禁用JNDI查找。

我知道我可以删除JNDILookup.class这有助于修复主要问题。

是否有一个官方的2.8.2版本的修复程序可以用于任何我们可以使用的地方?

共有1个答案

公孙智
2023-03-14

如果你也被困在那些旧应用程序的Java8上,那么只需重新打包那些多版本jar文件,而不包含它们的META-INF/版本JAR文件目录。

如果您使用Java9或更高版本,那么您就只能使用那些META-INF/versionJAR文件目录,并且此建议不适合您。

 类似资料:
  • 在android a有一个URL像http://api.openweathermap.org/data/2.5/forecast/daily?q=khulna 所以我使用Uri构建器 但输出 http://api.openweathermap.org/data/2.5/forecast/daily?q=khulna 这里有两个额外的字符'&'和'='; 我将这个URI转换为字符串,并使用repla

  • 我有一个用Gradle构建的应用程序,它需要maven模块。我的android应用程序需要版本(存在于本地maven repo中),但它不是本地maven存储库中模块的最新版本(版本也存在于本地maven repo中): 当尝试构建android应用程序时,我会遇到错误: 我怎样才能强迫Gradle使用不是最新版本的maven模块(工件)? ps.还有一个问题:如果我从本地maven repo中删

  • 问题内容: 通常,为了获得最新成功构建的工件,我对以下URL进行了处理: http://jenkins.com/job/job_name/lastSuccessfulBuild/artifact/artifact1/jenkins.txt 有没有办法,我可以继续下去并在下面得到一个像? 问题答案: 是的,有一种方法,它非常简单:

  • 问题内容: 我在一个项目中使用了一个生成器类。 假设我有一个基于以下类的构建器。 我需要新的构建基于克隆,使包含所有已经存在的价值。 在我的构造函数中,我基于已设置的字段初始化一些字段(未直接设置)。 -我正在初始化这个领域。如果存在,则将设置该值或将设置。 -我也在同一构造函数中初始化此字段。 最重要的是,我在地图上放置了一些必填字段。我不确定这样做的正确方法是什么。不过,我需要补充和成图。(一

  • 我是一个很新的反应原生应用程序开发人员。请帮助我解决以下问题,我在执行react-native Run-Android时遇到以下问题。 运行jetifier将库迁移到AndroidX的信息。您可以使用“--no-jetifier”标志禁用它。Jetifier找到1112个文件要转发JEtify。使用8名工作人员...信息正在启动JS服务器...“adb”不能识别为内部或外部命令、可操作程序或批处理

  • 问题内容: 我想使用SVNKIT获取SVN数据库的最新修订号。我不想更新本地存储库并获取总修订版号,我想直接联系SVN存储库并获取最新的修订版号。请帮我 。 问题答案: