maven parent pom dependencies 继承版本但不继承排除项
maven parent pom dependencies Inherit version but does not Inherit the exclusions
我有 parent pom,其中包含所有项目版本和排除项
我想在 child 中对 parent 进行相同的排除,我该如何实现。
son-project项目继承父版本
但是拿了神器 a,我希望他避免拿 a
我该怎么做?
我的目标是拥有没有依赖性的 letters 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>
如果您已经在父pom 中指定了依赖项,它将被所有子工件继承,您不需要再次指定它。如果您实际上不想默认继承它,那么请在您的父 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>
...
所有子项目看起来仍然与您的问题相同。
我有 parent pom,其中包含所有项目版本和排除项 我想在 child 中对 parent 进行相同的排除,我该如何实现。
son-project项目继承父版本 但是拿了神器 a,我希望他避免拿 a 我该怎么做?
我的目标是拥有没有依赖性的 letters 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>
如果您已经在父pom 中指定了依赖项,它将被所有子工件继承,您不需要再次指定它。如果您实际上不想默认继承它,那么请在您的父 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>
...
所有子项目看起来仍然与您的问题相同。