Как создать проект, используя maven-archetype-plugin? Что такое artefactId и т. Д.? - PullRequest
41 голосов
/ 19 ноября 2011

Я новичок в 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': :
...

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

Ответы [ 4 ]

40 голосов
/ 21 ноября 2011
Команда

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

  1. Загружает последнюю версию maven-archetype-plugin.
  2. Перечисляет все архетипы, из которых можно создать проект.Если вы определили архетип при вызове команды, maven перейдет к шагу 4.
  3. По умолчанию maven выбирает maven-archetype-quickstart archetype, который в основном создает maven Hello World проект с исходным и тестовым классами.Если вы хотите создать простой проект, вы можете просто нажать Enter, чтобы продолжить.Если вы хотите создать приложение определенного типа, вы должны найти архетип, соответствующий вашим потребностям, введите номер этого архетипа и нажмите клавишу ввода.Например, если вы хотите создать проект веб-приложения, вы можете ввести 153 (это текущее число для этого архетипа, оно может изменяться во времени.)
  4. Поскольку архетипы являются шаблонами, и они намереваются отражать текущие лучшие практики,они могут эволюционировать во времени, поэтому у них есть свои версии.Maven спросит вас, какую версию архетипа вы хотите использовать.По умолчанию maven выбирает последнюю версию для вас.поэтому, если вы согласны использовать последнюю версию архетипа, просто нажмите Enter на этом шаге;
  5. У каждого проекта (и модуля) maven есть свой groupId, artifactId и version.Затем Maven попросит вас об этом в три этапа.groupId: обычно это уникально для организации или проекта.artifactId: artifactId - это, как правило, имя, которым известен проект.версия: Это последняя часть головоломки имен. ( читать дальше )
  6. Наконец, maven спросит вас о структуре пакета для вашего кода.Рекомендуется создать структуру папок, которая отражает идентификатор группы, поэтому Maven устанавливает это как значение по умолчанию, но вы можете изменить его.

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

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

4 голосов
/ 19 ноября 2011

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

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

1 голос
/ 25 ноября 2011

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

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

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

0 голосов
/ 20 сентября 2016

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

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 за дополнительной информацией!

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