Программно получить зависимости Maven - PullRequest
0 голосов
/ 14 февраля 2020

Пожалуйста, есть ли библиотеки Java, которые могут извлекать зависимости Maven из файла POM? Все, что не требует извлечения команды mvn. Спасибо

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Спасибо.

Я использовал библиотеку MavenProject. Довольно прямо вперед. Я также использовал MavenXppReader, чтобы получить модель, которую я передал MavenProject (). Все остальное - это вызов правильных методов.

0 голосов
/ 14 февраля 2020

Что ж, вам следует проанализировать pom.xml с любым анализатором xml на ваш выбор.

Затем создать ссылку на центральный репозиторий maven по следующему алгоритму: 1. Каждый пакет в идентификаторе группы переводится в папку: Пример:

<groupId>org.foo.bar</groupId> ==> org/foo/bar
Имя артефакта также является папкой и добавляет его к идентификатору группы: Пример:
<artifactId>some-artifact</artifactId> ==>  org/foo/bar/some-artifact
Версия также становится папкой: Пример:
<version>1.2.3</version> ==>  org/foo/bar/some-artifact/1.2.3
Теперь создайте имя jar-файла как «articatId-version.jar» и добавьте его к ссылке. Добавьте репозиторий, и вы получите полный рабочий путь.

Вот реальный рабочий пример:

<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 плющ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...