1

我的项目有一些依赖项(真的很多),我将它们添加到依赖项中。但我不想要任何传递依赖,这将是我无法控制的(maven 给我带来了几乎三倍于我需要的东西)。我试图以这种方式禁止传递依赖:

<exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
        </exclusion>
</exclusions>

但是在我做了一个 mvn 包之后,传递依赖项仍然被下载并添加到我构建的包中。这是maven的日志记录:

[DEBUG] Dependencies for project:com.XXX.XXX:
org.apache.XXX
org.apache.XXX.YYY
...
[DEBUG] Resolving project dependencies transitively:
[DEBUG] org.com.XXX.yyy
[DEBUG]    org.apache.ZZZ
...
[DEBUG] Adding artifact: org.apache.ZZZ with file: ${file name} to assembly location: lib/${file name}.jar
...

所以这不是我想要的。我希望 maven 不要自动下载传递依赖项或不要将它们添加到我的“mvn 包”中。

感谢任何帮助。

4

1 回答 1

0

所以这是我得到的解决方案。Maven 仍在获取所需的传递依赖。我所做的只是在组装阶段只包含我想要的罐子。在程序集配置文件中,我手动添加了我想要的罐子

<dependencyset>
   <includes>
      <include>com.XXX:XXX:jar:2.6.0</include>
   </includes>
<dependencyset>

与我不想要的(数百个传递依赖 jar)相比,添加我想要的更实用。这很好地解决了这个问题。

于 2015-05-19T23:34:31.800 回答