Java 从公共项目中排除依赖关系
我现在有三个项目组成了一个依赖链,Java 从公共项目中排除依赖关系,java,maven-2,maven,Java,Maven 2,Maven,我现在有三个项目组成了一个依赖链,projecta依赖于projectb依赖于projectc 在projectb中,我试图排除引起weblogic问题的xmlapijar。我在项目B的POM中这样做: <dependency> <groupId>com.company</groupId> <artifactId>projectC</artifactId> <version>1.0.3-SNAPSHO
projecta
依赖于projectb
依赖于projectc
在projectb
中,我试图排除引起weblogic问题的xmlapi
jar。我在项目B的POM中这样做:
<dependency>
<groupId>com.company</groupId>
<artifactId>projectC</artifactId>
<version>1.0.3-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
</dependency>
com公司
项目C
1.0.3-快照
xml API
xml API
但是,当我打包项目A时,XMLAPI
工件仍然被包括在内。排除这个XMLAPI
jar的正确方法是什么?我是否应该在projectc
中找到确切的软件包,并将其标记为提供的
现在我的解决方法是在项目A
的POM中列出上述依赖项
编辑:
项目A
依赖于项目B
和项目C
。由于项目B
依赖于项目C
,如果没有项目C
,项目B
将永远无法使用,因此我希望不必在项目a
中包含依赖性信息,项目B
项目B不依赖于a。在C依赖项。项目B的pom声明它使用项目C,只是它(项目B)不需要xml API
ProjectA的pom还声明它使用ProjectC,但没有说它不需要XMLAPI,因此maven假设它确实需要它们
您可以将对xml API的依赖添加到提供范围为的项目A中,这意味着您需要它们,但要确保实现可用且不希望maven包含它们,或者您可以删除项目A对项目C的依赖。问题不清楚,可能清楚,但令人困惑。只需执行mvn dependency:tree
,检查并排除正确pom中所需的依赖项,无论是A、B还是C。。上面的代码段来自我的项目B。请参阅我的编辑。刚刚注意到POM代码段中有项目A。已修复。@Casey您现在似乎有一个POM说项目B依赖于项目B,但问题的描述是准确的。