我需要工件 A。因此,我将它包含在我的 pom.xml 中
<dependency>
<groupId>some.group</groupId>
<artifactId>some.artifact</artifactId>
<version>some.version</version>
</dependency
工件 A 使用了工件 B,而我绝对不想将其复制到我的类路径中。因此,我对 B 使用了排除
<dependency>
<groupId>some.group</groupId>
<artifactId>some.artifact</artifactId>
<version>some.version</version>
<exclusions>
<exclusion>
<groupId>dontwant.group</groupId>
<artifactId>dontwant.artifact</artifactId>
</exclusion>
<exclusions>
</dependency
我不依赖 B。但是,我依赖 A,并且 A 依赖于 B。B 现在未被复制到类路径。这会破坏我的代码吗?
您使用依赖项 A,A 使用依赖项 B,但是您将 B 从 A 中排除。会发生什么?
因此,请避免排除,并将 B 放入类路径,除非您有非常好的理由不这样做(并且您应该将该理由添加到问题中)。
依赖项包括其他依赖项作为子项。如果您不想要这些子项,可以将其排除。
通常您想要排除一些子项,因为您已经在其他地方具有这种依赖关系。
如果排除编译所需的某些内容,构建将失败。
你可以使用dependency:tree查看有效树
因此,你的问题的答案是否定的。