maven - Maven/Gradle方法来计算包括所有传递依赖项的依赖项总大小

标签 maven gradle pom.xml dependency-management

我希望能够对我的每个项目POM进行分析,以便基于所有传递依赖项的总和来确定每个直接依赖项将多少字节引入结果包中。

例如,如果依赖项A引入了B,C和D,我希望能够看到一个摘要,显示A->总大小=(A + B + C + D)。

是否存在现有的Maven或Gradle方法来确定此信息?

最佳答案

我在工作站上保留了一个小的pom.xml模板,以标识重磅依赖项。

假设您想查看org.eclipse.jetty:jetty-client及其所有传递对象的权重,请在新文件夹中创建它。

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>not-used</groupId>
  <artifactId>fat</artifactId>
  <version>standalone</version>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-client</artifactId>
      <version>LATEST</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
           <phase>package</phase>
           <goals>
              <goal>shade</goal>
           </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

然后cd到该文件夹​​并运行mvn package并检查生成的胖 jar 的大小。在类似Unix的系统上,您可以使用du -h target/fat-standalone.jar

为了测试另一个Maven Artifact ,只需在上面的模板中更改groupId:artifactId即可。

关于maven - Maven/Gradle方法来计算包括所有传递依赖项的依赖项总大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22175847/

相关文章:

jbehave/storyDurations.props 的 java.io.FileNotFoundException

java - 使用gradle将依赖信息嵌入到manifest中

java - 带有Gradle for Java的 cucumber

git - 在 Android Studio 导入期间维护目录结构

java - Cucumber 无法在 intelliJ 中设置 - 似乎无法识别 Gherkin

java - 有没有办法只针对特定配置文件运行自定义 Maven clean?

Spring Boot : The managed version is 1. 3.2.RELEASE Artifact 在 org.springframework.boot :spring-boot-dependencies:1. 3.2.RELEASE 中管理

maven - 如何获得Maven版本的semver Major部分?

java - 如何为 openimaj 创建 pom.xml?

node.js - 如何将 Maven 执行仅定位到构建文件夹?