此 jar 包旨在防范 CVE-2021-4104。
它旨在作为 Log4j v1 库的直接替代品。
Log4j 1.2 项目页面:https://logging.apache.org/log4j/1.2/
Apache 2.0 许可证:https://www.apache.org/licenses/LICENSE-2.0
将此添加到您的 pom.xml 中
<project ...>
<repositories>
<!-- Open AIMS maven 仓库位于 GitHub 上 -->
<repository>
<id>github_openaims</id>
<name>GitHub Open-AIMS repo</name>
<url>https://maven.pkg.github.com/open-AIMS/*</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>au.gov.aims</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17-aims</version>
</dependency>
...
</dependencies>
</project>
如果某个依赖项使用了其他版本的 log4j, 请在依赖声明中使用 exclusions 组将其排除。
示例:
<project ...>
...
<dependencies>
<dependency>
<groupId>au.gov.aims</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17-aims</version>
</dependency>
<dependency>
<groupId>uk.ac.rdg.resc</groupId>
<artifactId>edal-xml-catalogue</artifactId>
<version>1.2.4</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
...
</dependencies>
</project>
如果项目由 GitHub workflow 管理,请不要忘记在您的 maven-settings.xml 文件中为
github_openaims 仓库添加凭据:
<settings ...>
...
<servers>
<!-- 由 GitHub 服务器使用,用于在运行测试或构建包时解析 Open-AIMS 依赖项 -->
<server>
<id>github_openaims</id>
<username>${env.GITHUB_USERNAME}</username>
<password>${env.GITHUB_TOKEN}</password>
</server>
</servers>
</settings>
此 jar 包的创建方式:
将 jar 包从您的本地 maven 仓库复制到此项目:
$ cp ~/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar jar/log4j-1.2.17-aims.jar
移除有问题的类:
$ zip -q -d jar/log4j-1.2.17-aims.jar org/apache/log4j/net/JMSAppender.class
在 GitHub 上创建新版本