maven parent pom dependencies继承版本但不继承排除项

时间:2016-01-06 19:28:48

标签: maven pom.xml parent-pom

我有父pom,其中包含所有项目版本和排除项 我想从孩子的父母那里得到同样的排除,我怎样才能实现它。

儿子项目项目继承了他父亲的版本 但需要神器a,我希望他避免服用 我怎么能这样做?

我的目标是让字母jar没有依赖

<project>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>parent-pom</artifactId>
  <groupId>parent</groupId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <dependencies>
    <dependency>
        <groupId>com.somthing.ltetters</groupId>
        <artifactId>ltetters</artifactId>
        <version>1.4</version>
        <exclusions>
            <exclusion>
                <groupId>com.somthing.ltetters</groupId>
                <artifactId>a</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
  </dependencies>

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
      http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>1.0.0</modelVersion>
  <artifactId>son-project</artifactId>
  <packaging>war</packaging>
  <version>3.9.0.SNAPSHOT</version>

  <parent>
    <groupId>parent-pom</groupId>
    <artifactId>parent</artifactId>
    <version>0.1.0</version>
  </parent>
  <dependencies>
    <dependency>
        <groupId>com.somthing.ltetters</groupId>
        <artifactId>ltetters</artifactId>
    </dependency>
  </dependencies>

1 个答案:

答案 0 :(得分:5)

如果您已在父pom中指定了依赖项,则它将由所有子工件继承,您无需再次指定它。如果您确实不想在默认情况下继承它,那么请使用&lt; dependencyManagement&gt;在您的父pom中,然后在没有版本或排除的子项目中指定依赖项。所以,你的父pom将如下所示:

<project>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>parent-pom</artifactId>
  <groupId>parent</groupId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.somthing.ltetters</groupId>
        <artifactId>ltetters</artifactId>
        <version>1.4</version>
        <exclusions>
            <exclusion>
                <groupId>com.somthing.ltetters</groupId>
                <artifactId>a</artifactId>
            </exclusion>
        </exclusions>
      </dependency>
    </dependencies>
    ...
  <dependencyManagement>
  ...

所有子项目仍然与您的问题看起来一样。