Подтвердить что ты не робот

Как создать проект с помощью maven-archetype-plugin? Что такое artefactId и т.д.?

Я новичок в Maven и использую учебник maven.apache.org здесь в качестве введения.

В "Как мне сделать первый проект Maven?" раздел учебника, он учит нас генерировать проект архетипа Maven, выполнив следующую команду:

mvn archetype:generate

После того, как Maven загрузил много артефактов, он внезапно остановился и задал следующий вопрос в командной строке:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149:

Учебное пособие Apache не описывает это приглашение.

У меня есть два вопроса:

1. Каков вопрос, который задают выше? Как следует ответить так, чтобы процесс mvn archetype:generate продолжался?

2. Обычно люди используют mvn archetype:generate для создания проекта Maven?

-------------- Обновление ---------------------

Что касается моего первого вопроса, я нажал "enter" без ввода какого-либо значения и получил следующий вывод:

Choose version: 
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6: 

Что это?

Я вводил "1" в вышеприведенном случае, тогда я получил следующие вещи:

Define value for property 'package':  : :
Define value for property 'groupId': : 
Define value for property 'artifactId': :
...

Как я могу определить их?

4b9b3361

Ответ 1

Команда

mvn archetype:generate используется для создания проекта из существующего шаблона. Многие разработчики и группы проектов имеют несколько архетипов. Когда вы выполняете команду, maven выполняет следующие действия:

  • Загрузка последней версии maven-archetype-plugin.
  • Список всех архетипов, которые можно использовать для создания проекта. Если вы определили архетип при вызове команды, maven переходит к шагу 4.
  • По умолчанию, maven выбирает архетип maven-archetype-quickstart, который в основном создает проект maven Hello World с исходными и тестовыми классами. Если вы хотите создать простой проект, вы можете просто нажать Enter для продолжения. Если вы хотите создать конкретный тип приложения, вы должны найти архетип, соответствующий вашим потребностям, и ввести номер этого архетипа, а затем нажать enter. Например. Если вы хотите создать проект webapp, вы можете ввести 153 (это текущий номер для этого архетипа, он может меняться со временем.)
  • Поскольку архетипы являются шаблонами, и они намереваются отражать текущие лучшие практики, они могут развиваться во времени, поэтому у них есть свои собственные версии. Maven спросит вас, какую версию архетипа вы хотите использовать. По умолчанию, maven выбирает для вас последнюю версию. поэтому, если вы согласны использовать последнюю версию архетипа, просто нажмите Enter на этом шаге;
  • Каждый проект maven (и модуль) имеет свой файл groupId, artifactId и версию. Затем Мейвен попросит их вам в три шага. groupId: Обычно это уникально среди организации или проекта. artifactId: ArtifactId - это, как правило, название, известное проекту. version: Это последний фрагмент головоломки имен. (прочитайте больше)
  • Наконец, maven спросит вас о структуре пакета для вашего кода. Лучшей практикой является создание структуры папок, которая отражает groupId, поэтому Maven устанавливает это значение по умолчанию, но вы можете изменить это.

После ввода этих данных Maven покажет вам всю введенную информацию и попросит вас проверить создание проекта. Если вы нажмете Y, а затем введите, ваш проект будет создан с помощью артефакта и настроек, которые вы выбрали.

Вы также можете прочитать maven-archetype-plugin сайт использования.

Ответ 2

Он спрашивает, какой архетип вы хотите использовать, чтобы засеять ваш проект. Если вы нажмете "enter" в этом приглашении, он предоставит вам список доступных вариантов. Вы можете использовать maven-archetype-quickstart только для создания простого проекта (он может предложить вам выбрать репозиторий после этого, в этом случае просто введите номер, соответствующий первому репозиторию, указанному после ввода этого значения).

Чтобы ответить на другой вопрос: да, использование архетипа - общий способ создания нового проекта. Главным образом потому, что есть много архетипов для всех видов проектов/модулей. Как только вы узнаете, какой архетип вы хотите, использовать его для начальной загрузки проекта - это самый простой способ начать работу.

Ответ 3

Быстрый просмотр учебника показывает, что вы пропустили некоторые параметры для архетипа: сгенерируйте команду. Вот почему он не знает, какой архетип выбрать для создания вашего учебного проекта и представляет вам все доступные архетипы (149).

Первый вопрос: нажав на возврат, вы приняли предложение плагина архетипа и выберите # 149. Этот архетип выходит в разных версиях и обычно, как заявил Крис, можно выбрать последнее - здесь 1.1.

Второй вопрос: поскольку архетип - это своего рода шаблон, который может сэкономить вам много работы. Да, это общий. Но не единственный способ - вы всегда можете начать с пустого проекта.

Ответ 4

Вы также можете использовать короткую форму

mvn archetype:generate -Dfilter=org.example.group:example-artifact

Или даже только группа:

mvn archetype:generate -Dfilter=org.example.group:

Вы получите следующий артефакт (в первом случае), если он существует в любом сконфигурированном каталоге:

<groupId>org.example.group</groupId>
<artifactId>example-artifact</artifactId>

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

Проконсультируйтесь с maven , чтобы узнать больше!