以编程方式检索Maven依赖项

时间:2020-02-13 21:09:32

标签: java maven

请问有没有Java库可以从POM文件检索Maven依赖关系?不需要检索mvn命令的所有内容。谢谢

2 个答案:

答案 0 :(得分:0)

好吧,您应该使用自己选择的任何XML解析器来解析pom.xml

然后通过以下算法构造到Maven中央存储库的链接: 1.组ID中的每个程序包都转换为一个文件夹: 示例:

<groupId>org.foo.bar</groupId> ==> org/foo/bar
  1. 工件名称也是一个文件夹,并将其附加到组ID: 示例:
<artifactId>some-artifact</artifactId> ==>  org/foo/bar/some-artifact
  1. 版本也成为文件夹: 示例:
<version>1.2.3</version> ==>  org/foo/bar/some-artifact/1.2.3
  1. 现在将jar名称构造为“ articatId-version.jar”,并将其附加到链接中。
  2. 添加存储库,您将获得一个完整的工作路径。

这是一个实际的工作示例:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot</artifactId>
  <version>2.2.4.RELEASE</version>
</dependency>

翻译为:

https://repo1.maven.org/maven2/org/springframework/boot/spring-boot/2.2.4.RELEASE/spring-boot-2.2.4.RELEASE.jar 

作为替代方案,如果您希望某些可以与依赖项一起使用的库不想调用maven,请查看Apache Ivy

答案 1 :(得分:-1)

谢谢。

我使用了MavenProject库。非常简单。 我还使用MavenXppReader来获取传递给MavenProject()的模型。剩下的就是调用正确的方法了。