【发布时间】:2014-03-08 06:21:48
【问题描述】:
我有一个 maven 项目,其中许多子 pom 的依赖项版本都列在父 pom 的 <dependencyManagement> 标记下。这个 pom 树可以有任何深度。
我的问题是,当给定 pom.xml 时,如何使用 java 解决其依赖项的确切(继承)版本?
我们在 pom.xml 文件上运行 mvn dependency:resolve -DincludeTransitive=false 时给出的输出结果
例如,假设父 pom 在 <dependencyManagement> 下定义了以下依赖项
<dependencyManagement>
<dependencies>
<dependency>
<groupId>group-a</groupId>
<artifactId>artifact-a</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>group-a</groupId>
<artifactId>artifact-b</artifactId>
<version>1.0</version>
<type>bar</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</dependencyManagement>
子 pom.xml 有以下依赖
<dependencies>
<dependency>
<groupId>group-a</groupId>
<artifactId>artifact-a</artifactId>
</dependency>
<dependency>
<groupId>group-a</groupId>
<artifactId>artifact-b</artifactId>
</dependency>
</dependencies>
如何使用 Java 以编程方式检索 group-a:artifact-a 和 group-b:artifact-b 的版本?
谢谢。
【问题讨论】:
标签: java maven pom.xml maven-dependency-plugin parent-pom