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

时间:2010-07-15 18:03:42

标签: java maven-2 repository pom.xml artifactory

我正在寻找类似的东西:

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

...

2 个答案:

答案 0 :(得分:2)

依赖项不知道其“源存储库”,它可能不是唯一的,因此您将无法获取依赖项的“源URL”实际上没有解决它。一种方法(不使用Maven内部API编写代码)将使用dependency:purge-local-repository。来自Maven Dependency Plugin文档:

  

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

mvn dependency:purge-local-repository > raw.txt

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

答案 1 :(得分:1)

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

mvn dependency:list -DoutputAbsoluteArtifactFilename=true -DoutputFile=dependencies.txt