使用maven排除一些第三方jar

时间:2013-11-18 09:33:45

标签: maven ear

我正在使用maven <packaging>ear</packaging>标记建立一个耳朵。 其中一个声明的依赖项是将它的传递依赖项添加到生成的ear中。有没有办法在生成的耳朵中排除这个?

也就是说,我的EAR pom依赖于module_A,这个沿着树的某个地方依赖于module_X,它正在被生成的耳中打包。

有没有办法不把这个(module_X)包含在耳中?

直接在我的pom中为module_X添加excludes标签不起作用。

2 个答案:

答案 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>