maven2 - 如何从 pom 文件中列出所有资源存储库 url

Cel*_*nHC 5 java maven-2 repository artifactory pom.xml

我正在寻找这样的东西:

List<URL> urls = listURLFromPOM("c:\pom.xml");

..

http://repo1.maven.org/maven2/org/apache/ibatis/ibatis-core/3.0/ibatis-core-3.0.jar
http://repo1.maven.org/maven2/org/apache/camel/camel-activemq/1.1.0/camel-activemq-1.1.0.jar

...
Run Code Online (Sandbox Code Playgroud)

Pas*_*ent 5

依赖项不知道其“源存储库”,它可能不是唯一的,因此您将无法在不实际解析依赖项的情况下获取依赖项的“源 URL”。实现此目的的一种方法(无需使用 Maven 内部 API 编写代码)是使用. 来自Maven 依赖插件文档:dependency:purge-local-repository

运行该命令并将输出重定向到文件以进行后处理:

mvn dependency:purge-local-repository > raw.txt
Run Code Online (Sandbox Code Playgroud)

正如我刚才提到的,如果您使用多个存储库,您可能需要进行一些后期处理,以将“成功”下载与“失败”尝试分开。这是Rubular 上的示例正则表达式,可能有助于实现此类后处理(我提供了一些说明“问题”的内容)。


uı6*_*uɐp 2

您可以使用Maven Dependency Plugin来分析 POM 的依赖关系。

mvn dependency:list -DoutputAbsoluteArtifactFilename=true -DoutputFile=dependencies.txt
Run Code Online (Sandbox Code Playgroud)