如何找出 Maven 应用程序中是否使用了依赖项中的任何 class?

How to find out if any class from dependency is being used in the maven application?

我有一个巨大的 Maven 应用程序,在 pom.xml 文件中有近 100 个 Maven 依赖项。

一个入门依赖项正在下载 log4j.jar,这根本不是必需的。那么,是否有一个容易找到的方法来确保没有使用特定 jar 中的 class,以便我们可以直接从启动器依赖项中排除它,如下所示。

         <dependency>
            <groupId>com.example.group</groupId>
            <artifactId>example-artifact</artifactId>
            <version>1.11.5</version>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

基本上我想排除我根本不使用但只是作为传递依赖项出现的 jar。

更具体地说,这将准确显示您的要求:

https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html