我的项目有一些依赖(真的很多),我依赖它们添加它们。但我不想要任何传递依赖,这将是我无法控制的(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 DON&T; T自动下载传递依赖关系,或者不要将它们添加到我的mvn包中。
感谢任何帮助。
答案 0 :(得分:0)
所以这是我得到的解决方案。 Maven仍然在抓住所需的传递依赖。我所做的只是在装配阶段只包括我想要的罐子。在程序集配置文件中,我手动添加我想要的jar
<dependencyset>
<includes>
<include>com.XXX:XXX:jar:2.6.0</include>
</includes>
<dependencyset>
与我不想要的(数百个传递依赖性罐子)相比,添加我想要的更实际。这很好地解决了这个问题。