В чем разница между метаданными maven. xml и pom. xml? - PullRequest
0 голосов
/ 13 марта 2020

Извините за очень новый вопрос ie Я новичок в Maven.

Я пытаюсь использовать модуль Ansible для Maven для загрузки файлов из Artifactory JFrog. И он продолжает говорить, что метаданные maven. xml отсутствуют. Это имеет смысл, поскольку мы используем pom. xml в наших производственных настройках.

Когда я смотрю онлайн и вижу типичное содержимое этих файлов, они, похоже, содержат в себе то же самое с: groupId , artifactId, version.

Когда, где и почему? Хотел бы я использовать один поверх другого?

Ответы [ 2 ]

1 голос
/ 14 марта 2020

pom.xml - это один из артефактов, которые развертываются в удаленном репо. У него есть специальные функции, но это все еще один из артефактов - у него есть версия, groupId, artifactId и тип.

maven-metadata.xml содержит информацию о артефактах: список снимков и Выпуск версии, последняя версия. Когда Maven развертывает новую версию артефактов, он сначала загружает существующую maven-metadata.xml (если она существует), добавляет туда новую версию и затем повторно загружает ее обратно в репозиторий.

maven-metadata.xml может быть восстановлен с помощью менеджер хранилища на основе существующих артефактов. По крайней мере, это возможно в Sonatype Nexus. Поэтому, если этот файл отсутствует - вы можете попробовать найти похожую функцию в Artifactory.

Обычно, хотя вы или ваши инструменты не должны использовать maven-metadata.xml, я не видел хороших вариантов использования. Некоторые люди пытаются извлечь из этого файла последнюю версию, но это не совсем надежный источник.

0 голосов
/ 13 марта 2020

maven-metadata.xml - это внутренний файл внутри репозитория Maven, используемый Maven для получения метаданных. У Maven проектов всегда есть pom.xml.

Если файл метаданных отсутствует, возможно, вы потеряли некоторые файлы в Артефактории, или репозиторий в Артефактории не является репозиторием Maven.

...