Maven导入范围不导入测试依赖项
我想在一个POM中定义大量的Maven导入范围不导入测试依赖项,maven,import,dependency-management,Maven,Import,Dependency Management,我想在一个POM中定义大量的compile和test依赖项,以便导入到其他POM中。对于编译依赖项,一切都按预期工作。但是,测试依赖关系在我的项目的POM中没有得到解决 她是一个极简主义者的例子: 要导入的POM: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati
compile
和test
依赖项,以便导入到其他POM中。对于编译
依赖项,一切都按预期工作。但是,测试
依赖关系在我的项目的POM中没有得到解决
她是一个极简主义者的例子:
要导入的POM:
<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>4.0.0</modelVersion>
<groupId>com.example.maven.import</groupId>
<artifactId>pom-to-be-imported</artifactId>
<packaging>pom</packaging>
<version>1</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
</dependency>
</dependencies>
</project>
<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>4.0.0</modelVersion>
<groupId>com.example.maven.import</groupId>
<artifactId>pom-using-import</artifactId>
<packaging>pom</packaging>
<version>1</version>
<dependencies>
<dependency>
<groupId>com.example.maven.import</groupId>
<artifactId>pom-to-be-imported</artifactId>
<version>1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</project>
如何才能将
测试
依赖项也导入?我在中未找到任何指示导入仅适用于编译
依赖项的内容 导入范围仅用于依赖项管理
部分。(此概念在maven中也称为BOM。)来自:
- 进口
导入
作用域依赖项添加到pom中的依赖项管理
部分,正确使用导入机制。然后,您可以删除“要导入的pom”中的
部分。每个“导入pom”必须在
部分中明确列出所有依赖项,但不必给出版本(或范围)李>
com.example.maven.import
进口聚甲醛
1.
聚甲醛
进口
4.0.0
com.example.maven.import
进口聚甲醛
1.
../pom要导入/pom.xml
使用导入的pom
备选方案2可能与您想要的最接近
>mvn dependency:tree
. . .
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ pom-using-import ---
[INFO] com.example.maven.import:pom-using-import:pom:1
[INFO] \- com.example.maven.import:pom-to-be-imported:pom:1:import
[INFO] \- org.apache.commons:commons-lang3:jar:3.8:runtime
[INFO] ------------------------------------------------------------------------