我有一个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 的版本?
感谢。
答案 0 :(得分:1)
尝试运行
mvn dependency:tree -Doutput=/path/to/file
或
mvn dependency:tree -DoutputFile=/path/to/file
来自maven docs:http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html