maven2 - 如何从 pom 文件列出所有资源存储库 url
我正在寻找这样的东西:
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
...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
依赖项不知道其“源存储库”,它可能不是唯一的,因此您将无法在没有实际<的情况下获取依赖项的“源URL”强>解决它。一种方法(无需使用 Maven 内部 API 编写代码)是使用
依赖项:purge-local-repository
。来自 Maven 依赖插件 文档:运行该命令并将输出重定向到文件进行后处理:
正如我刚才提到的,如果您使用多个存储库,您可能需要进行一些后处理以将“成功”下载与“失败”尝试分开。这是 Rubular 上的 示例正则表达式,可能有助于实现此类后处理(我提供了一些说明“问题”的内容)。
A dependency is not aware of its "source repository" which might not be unique so you won't be able to get the "source URL" of a dependency without actually resolving it. One way to do that (without writing code using Maven internal APIs) would be to use
dependency:purge-local-repository
. From the Maven Dependency Plugin documentation:Run that command and redirect the output to a file for post-processing:
As I just mentioned, if you are using several repositories, you might need to do some post processing to separate the "successful" download from "failed" attempts. Here is a sample regex on Rubular that might be helpful to implement such a post-processing (I provided some content illustrating the "problem").
您可以使用 Maven 依赖插件 来分析 POM 的依赖关系。
You can use the Maven Dependency Plugin to analyze the dependencies of you POM.