【发布时间】:2019-08-26 21:53:32
【问题描述】:
我想做什么?
- 给定本地文件系统上的 POM 文件。
-
我想以编程方式获取该 POM 文件的有效 POM。具体来说,我想做以下事情:
- 解决 POM 依赖项
- 确保处理所有父 POM
- 获取完全解析的 POM 的依赖项列表
- 等等……
我不需要获取传递依赖。
什么有效?
我正在使用Maven Resolver Provider 哪种有效。然而
我必须使用包私有类org.apache.maven.repository.internal.DefaultModelResolver
这里是一个指向您可以运行的示例 Maven 项目的 GitHub 链接:https://github.com/sahilm/maven-resolver-test
示例程序执行以下操作:
- 从 Maven Central 下载最新的 Spring Boot POM。
- 打印出它的直接依赖关系(包括父部门)
您可以通过以下方式运行该程序:
mvn exec:java -Dexec.mainClass="com.sahilm.maven_resolver_test.Test"
我需要什么帮助?
- 我需要帮助来理解为什么我必须使用包私有类来让东西正常工作。
- 还有其他方法可以获取我需要的信息吗?
【问题讨论】:
-
我不知道你的问题是什么,上面看起来更像是一系列陈述。
-
你的意思是
DefaultModelResolver是包吗?因为ModelResolver接口是公开的? -
@Ardesco 我同意。我正在改写这个问题。