我正在使用maven <packaging>ear</packaging>
标记建立一个耳朵。
其中一个声明的依赖项是将它的传递依赖项添加到生成的ear中。有没有办法在生成的耳朵中排除这个?
也就是说,我的EAR pom依赖于module_A,这个沿着树的某个地方依赖于module_X,它正在被生成的耳中打包。
有没有办法不把这个(module_X)包含在耳中?
直接在我的pom中为module_X添加excludes
标签不起作用。
答案 0 :(得分:1)
maven一切皆有可能。你只需要在你耳朵的pom中简单地添加标签排除,就像这样:
<dependency>
<groupId>my.group</groupId>
<artifactId>module_A</artifactId>
<exclusions>
<exclusion>
<groupId>my.group</groupId>
<artifactId>module_X</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:0)
如果父POM中的依赖关系的范围为compile
,并且您需要在EAR中将其作为provided
,则可以在需要更改其范围的子POM中使用依赖关系管理:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.group</groupId>
<artifactId>transitive-dependency</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>