Maven 以太:如何收集所有依赖项,包括父项

Maven 以太:如何收集所有依赖项,包括父项,maven,maven-3,aether,Maven,Maven 3,Aether,在线上有很多问题涉及如何使用Maven/Aether下载给定工件的依赖项 然而,下载家长POM让我感到困惑 我在网上找到了类似的代码 CollectResult result = system.collectDependencies(session, request); 然而,结果严格来说是给定工件的依赖项(编译、测试、提供、运行时等) 我正在尝试设置一个“脱机”maven存储库,因此也需要所有相关的pom文件。某些插件设置了一个父pom,我需要确保它包含在这个可传递闭包中 其他基本原理 我正

在线上有很多问题涉及如何使用Maven/Aether下载给定工件的依赖项

然而,下载家长POM让我感到困惑

我在网上找到了类似的代码

CollectResult result = system.collectDependencies(session, request);
然而,结果严格来说是给定工件的依赖项(编译、测试、提供、运行时等)

我正在尝试设置一个“脱机”maven存储库,因此也需要所有相关的pom文件。某些插件设置了一个父pom,我需要确保它包含在这个可传递闭包中

其他基本原理

我正在开发一个解决方案,将Maven应用程序包装为派生

为了实现密封/可复制的构建,Nix不允许访问互联网;这意味着传统上使用Maven是行不通的

我可以在已知依赖项的情况下预先创建maven存储库。
我正在从事一个项目,该项目将Maven(pom.xml)转换为所需的所有依赖项的完整列表,以便下载这些依赖项。

我曾尝试构建这样一个复制作业,但它只在90%的时间内有效。很难找到所有相关的工件。我知道的唯一可靠的方法是对在线存储库运行构建并复制下载的工件。你为什么要建立这样一个“离线”回购协议?也许,如果你解释一下背景,我们会为你的问题找到一个不同的解决方案。我补充了一些理由。1.我能够下载插件2。我不得不添加默认的插件集3。我下载了所有匹配的POM4。我想我还必须递归地添加每个父pom,那么为什么不从一个空的本地存储库开始,进行构建,然后将本地存储库复制到您的脱机环境中?@JFabianMeier感谢您的反馈;我最终选择了一条你可以在那里签出的路线——我更愿意通过一个库调用Maven的解析算法,但Aether库的功能非常有限。我曾尝试构建这样一个复制作业,但它只在90%的时间内有效。很难找到所有相关的工件。我知道的唯一可靠的方法是对在线存储库运行构建并复制下载的工件。你为什么要建立这样一个“离线”回购协议?也许,如果你解释一下背景,我们会为你的问题找到一个不同的解决方案。我补充了一些理由。1.我能够下载插件2。我不得不添加默认的插件集3。我下载了所有匹配的POM4。我想我还必须递归地添加每个父pom,那么为什么不从一个空的本地存储库开始,进行构建,然后将本地存储库复制到您的脱机环境中?@JFabianMeier感谢您的反馈;我最终选择了你可以在那里签出的路径——我更愿意通过一个库调用Maven的解析算法,但是Aether库的功能非常有限。