Установите Архетип Maven

133
14

Я создал архетип Maven из существующего проекта. Я даже установил архетип в своем локальном репозитории и использовал его для создания нового проекта. Все прошло прекрасно (невероятно).


Дело в том, что я хочу распространять этот архетип, чтобы любой мог установить его на своей локальной машине или даже развернуть в maven repo, чтобы использовать его. Я думал о распространении созданного артефакта JAR, а не в качестве источника моего проекта, и пусть люди его устанавливают, но похоже, что он не устанавливается как архетип или, по крайней мере, не распознается, когда я пытаюсь его использовать.


Я использовал mvn install: install-file цель для этого.


Это лучший способ сделать это? Можно ли распространять этот JAR файл, чтобы установить его как архетип? Недостает ли файл JAR?


Спасибо заранее.

спросил(а) 2021-01-25T21:46:21+03:00 4 месяца, 4 недели назад
1
Решение
146

Немного разъяснений здесь:


// installs the project to your local repository (jar, archetype, etc.)
mvn install
// AND updates archetype catalog
mvn install archetype:update-local-catalog
// calls plugin archetype goal crawl
mvn archetype:crawl

Сканирование проходит через каталог Maven repo и CREATES.


Если вы хотите использовать архетип в интерактивном режиме, вам либо нужно позвонить, если с полными координатами, либо указать его в каталоге.

// use local catalog
mvn archetype:generate -DarchetypeCatalog=local
// full coordinate set, my example
mvn archetype:generate -DarchetypeGroupId=pl.lafk -DarchetypeArtifactId=simple-testng-quickstart -DarchetypeVersion=1.0 -DgroupId=pl.lafk -DartifactId=sample-app

Когда вы вызываете mvn deploy, вы делаете все, что устанавливает, плюс добавляет пакет в удаленный репозиторий - если вы его настроили.


Ссылка, которую я использовал, - это сайт Maven для плагина: https://maven.apache.org/archetype/archetype-packaging/index.html


Дополнительно: mvn archetype:help

ответил(а) 2021-01-25T21:46:21+03:00 4 месяца, 4 недели назад
63

Привет, это поздний ответ, но у меня была та же проблема, что я не нашел четкой инструкции, как делиться архетипом. Поэтому я надеюсь, что следующее поможет кому-то, кто борется так много, как я:

    Разработайте свой архетип: либо самостоятельно, либо с помощью mvn archetype: create-from-project. В Интернете достаточно инструкций, которые объясняют, как это сделать.
    Введите элемент управления распределением в вашем pom.xml, где должен быть определен репозиторий nexus, который вы хотите опубликовать/поделиться своим архетипом. Связь с maven/settings.xml для свойств соединения и т.д. Производится с помощью элемента id, а не с элементом URL.
    вызов "mvn clean install" со ​​всеми параметрами, которые вы хотите установить архетип в своем локальном репозитории maven.
    вызов "mvn deploy", и maven сделает все остальное и обновит ваш удаленный файл archetype-catalog.xml сам по себе!
    чтобы проверить, что архетип действительно распознан, вызывается "mvn archetype: generate -Dfilter = [ваш архетип артефакт]], и он должен быть в списке.

ответил(а) 2021-01-25T21:46:21+03:00 4 месяца, 4 недели назад
45

Артефакты Maven являются артефактами, как и любой другой артефакт сборки проекта. Вы размещаете их в своем репозитории с помощью команды Maven deploy.


См. Руководство по созданию архетипов, Maven по примеру и Maven: полный справочник для получения дополнительной информации по этим темам.

ответил(а) 2021-01-25T21:46:21+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема