maven中的排除关键字

时间:2013-06-27 08:51:00

标签: java maven intellij-idea project pom.xml

排除关键字在maven中做了什么。

在模块中,依赖项(X)依赖于依赖项(Y)。在Y的父pom版本中包含的是0.1,但是X想要使用Y的0.9版本。在这种情况下,排除对x有用。

如果X添加了Y的排除,是否意味着X将不包含可单独使用的Y,但它本身将包含所需的Y版本(根据其pom文件)。

1 个答案:

答案 0 :(得分:1)

排除用于排除传递依赖,例如

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>3.0.0.RELEASE</version>
      <scope>runtime</scope>
      <exclusions>
         <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
         </exclusion>
      </exclusions>
</dependency>

在这个例子中我们在项目中包含了spring-context.jar,但是我们不想要它使用的commons-logging.jar,因为我们想使用slf4j。

至于“包含的Y的父pom版本是0.1但是X想要使用Y的0.9版本”足以将版本0.9添加到X pom并且它将覆盖父版本