Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 禁用不工作的可传递依赖项_Java_Maven_Pom.xml_Transitive Dependency - Fatal编程技术网

Java 禁用不工作的可传递依赖项

Java 禁用不工作的可传递依赖项,java,maven,pom.xml,transitive-dependency,Java,Maven,Pom.xml,Transitive Dependency,我的项目有一些依赖项(确实很多),我将它们添加到依赖项中。但我不想要任何可传递的依赖,这将超出我的控制范围(maven带给我的几乎是我需要的三倍)。我试图通过以下方式禁止传递依赖: <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclu

我的项目有一些依赖项(确实很多),我将它们添加到依赖项中。但我不想要任何可传递的依赖,这将超出我的控制范围(maven带给我的几乎是我需要的三倍)。我试图通过以下方式禁止传递依赖:

<exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
        </exclusion>
</exclusions>
所以这不是我想要的。我希望maven不要自动下载可传递的依赖项,或者不要将它们添加到我的“mvn包”中


谢谢你的帮助

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

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

com.XXX:XXX:jar:2.6.0

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

重复这个答案是行不通的。请先通读问题描述,然后再将其标记为“重复”。“对于maven 2,我建议为具有您的依赖项创建您自己的自定义pom。对于需要使用该依赖项的项目,请将依赖项设置为自定义pom,而不是典型的工件。”您是说您这样做了吗?或者你把排除项放在项目POM中了?您所要求的功能正是上述问题中的功能,而且它确实有效。我使用的是maven 3,我希望排除所有可传递依赖项。如果我能计算出有多少个和哪些是排除项,那么拥有自己的自定义pom对许多依赖项都有效。但如果我有超过几个,比如说100个依赖项,那么构建我自己的排除项是不现实的。
<dependencyset>
   <includes>
      <include>com.XXX:XXX:jar:2.6.0</include>
   </includes>
<dependencyset>