Maven依赖项大小

时间:2016-07-07 05:32:39

标签: java maven jar htmlunit

我遇到了一个小问题,我在项目中添加了下一个依赖项:

<dependency>
    <groupId>net.sourceforge.htmlunit</groupId>
    <artifactId>htmlunit</artifactId>
    <version>2.19</version>
</dependency>

我的项目从 330kb 扩大到 12.1mb 。我知道基于Apache Http Client的HTMLUnit权重很大,但Maven有一些功能可以排除源代码中没有使用的库/包吗? (不是手动排除)

2 个答案:

答案 0 :(得分:2)

Maven应该怎么知道?您可能在运行时使用某种DI?如果您知道它们没有被使用,您当然可以exclude dependencies ...当然,正如已经提到的那样,为了它们的目的处理正确的依赖项,如果它只是用于测试的话,则使用<scop>test</scope>

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>sample.ProjectA</groupId>
  <artifactId>Project-A</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  ...
  <dependencies>
    <dependency>
      <groupId>sample.ProjectB</groupId>
      <artifactId>Project-B</artifactId>
      <version>1.0-SNAPSHOT</version>
      <exclusions>
        <exclusion>
          <groupId>sample.ProjectD</groupId>
          <artifactId>Project-D</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
</project>

答案 1 :(得分:1)

由于这是一个测试依赖项,因此您始终可以添加<scope>test</scope>以防止它在您的构建中打包。