我有一个具有如下依赖树的项目。
<dependency>
<groupId>xxxxx</groupId>
<artifactId>xxxxxx</artifactId>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
我排除了我的依赖项 xxxxxx 使用的 log4j 1.2.14,并添加了 log4j-api 和 log4j-core 作为新的依赖项。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
最后,log4j 1.2.14 似乎已从 dependency:tree 输出中删除,但在运行“mvn clean and install”命令时,它仍然会下载。有没有办法阻止这个版本被下载?
xxxxxx依赖是我们公司内部开发的内部工件。通过添加 log4j 的排除,我认为不应再下载 log4j。 但仍在下载。通过按照 @Piotr P. Karwasz 的建议运行“mvn dependency:resolve-plugins”,我注意到 log4j-1.x.x 被另一个内部开发的 Maven 插件使用。通过将此插件升级到使用 log4j 2 支持的版本,我解决了我的问题。