我有一个包含所有项目版本和排除项的父pom我想从孩子的父母那里得到同样的排除,我该如何实现呢?
儿子项目继承其父版本但拿走了工件a,我希望他避免拿走我该怎么做?
我的目标是让信件罐子没有依赖
<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>
如果您已经在父pom中指定了依赖项,它将被所有子工件继承,您不需要再次指定它。如果您实际上不想在默认情况下继承它,那么请使用<dependencyManagement>,然后在没有版本或排除的子项目中指定依赖项。所以,你的父母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>
...
所有的子项目看起来仍然可以与您的问题中的相同。