Перерахуйте всі можливі цілі в Maven 2?


105

Я новачок у Мейвен, родом із світу мурашок.

Чи можна перерахувати всі можливі цілі (включаючи, скажімо, всі плагіни), які ви можете виконати?

Я можу бачити, що раніше -gу Maven 1 був прапор, але це недоступно у версії 2.


4
Мене ганяє, що Мейвен не може відповісти на це питання без сторінок XML! Хороший матеріал!
Kieveli

Відповіді:


120

Мета, яку ви вказуєте в командному рядку, пов'язана з життєвим циклом Maven. Наприклад, buildжиттєвий цикл (у вас також є cleanі siteжиттєві цикли, які відрізняються) складається з наступних фаз:

  • validate: валідація проекту правильна, і вся необхідна інформація доступна.
  • compile: скласти вихідний код проекту.
  • test: протестуйте скомпільований вихідний код за допомогою відповідної рамки тестування одиниць. Ці тести не повинні вимагати упаковки чи розгортання коду.
  • package: візьміть складений код і запакуйте його у своєму форматі, що розповсюджується, наприклад, JAR.
  • integration-test: обробляйте та розгортайте пакет, якщо необхідно, у середовищі, де можна запускати тести інтеграції.
  • verify: проведіть будь-які перевірки, щоб перевірити, чи пакет дійсний і відповідає критеріям якості
  • install: встановіть пакет у локальне сховище для використання як залежність в інших проектах на місцевому рівні.
  • deploy: виконано в середовищі інтеграції або випуску, копіює остаточний пакет у віддалений сховище для спільного використання з іншими розробниками та проектами.

Ви можете знайти список «основних» плагінів тут , але є багато інших плагінів, таких як Codehaus них, тут .


1
ознайомтесь із посиланням на життєвий цикл. Усі деталі життєвого циклу перераховані там.
Саландур

51

Чи можна перерахувати всі можливі цілі (включаючи, скажімо, всі плагіни), які можна виконати?

У Maven для цього немає нічого вбудованого, хоча список фаз є обмеженим (список цілей плагіна не є, оскільки список плагінів не є).

Але ви можете зробити це простішим і використовувати силу завершення удару (використовуючи cygwin, якщо ви перебуваєте під Windows), як описано в Посібнику з автоматичного завершення Maven 2.x за допомогою BASH (але перш ніж вибрати сценарій з цього посібника, читайте далі ).

Щоб працювати над роботами, спочатку дотримуйтесь цього посібника, щоб налаштувати завершення роботи на комп’ютері. Тоді саме час отримати сценарій для Maven2 та:

  • У той час як ви можете скористатись міні-посібником
  • Поки ви використовуєте вдосконалену версію, що додається до MNG-3928
  • Хоча ви можете використовувати випадкові сценарії, знайдені по мережі (див. Ресурси, якщо вам цікаво)
  • Я особисто використовую скрипт завершення Bash з PPA Людовика Клода (який входить до упакованої версії mavenUbuntu), який ви можете завантажити з HEAD. Це просто найкращий .

Нижче, ось що я отримую лише для ілюстрації результату:

$ mvn [вкладка] [вкладка]
 Показати всі 377 можливостей? (y або n)
мураха: мураха 
мураха: чистий 
мураха: допомога 
antrun: допомога 
antrun: бігати 
архетип: повзати 
архетип: творити 
архетип: створення-з-проекту 
архетип: генерувати 
архетип: допомога 
складання: складання 
збірка: каталог 
збірка: каталог-єдиний 
складання: допомога 
складання: одинарне  
... 

Звичайно, я ніколи не переглядаю 377 можливостей, використовую завершення. Але це дає уявлення про розмір списку "a" :)

Ресурси


2
Ще не подивилися на це, але чи новий Maven Shellінструмент забезпечує автоматичне завершення, що може бути корисним тут?
Ромен Лінсолас

2
@romain Ні, mvnshне забезпечує завершення (принаймні, не у версії, яку я маю на своїй машині). Я перевірив, перш ніж відповісти :)
Pascal Thivent

7

Якщо ви використовуєте IntelliJ IDEA, ви можете переглядати всі основні цілі / завдання (включаючи плагіни) на Maven Projectsвкладці:

Проекти Maven


2
Я хотів би зробити це за допомогою якоїсь команди. Як це робить IntelliJ IDEA?
nacho4d

0

Давайте зробимо це дуже просто:

Життєві цикли Maven: 1. Очистити 2. За замовчуванням (скласти) 3. Сайт

Основні етапи життєвого циклу за замовчуванням: 1. Перевірка 2. Компіляція 3. Тест 4. Пакет 5. Перевірка 6. Встановлення 7. Розгортання

Примітка: Не змішуйте і не плутайте мети Maven з життєвим циклом Maven.

Див. Основи життєвого циклу Maven Build 1


0

Життєвий цикл побудови складається з етапів

Кожен з цих життєвих циклів побудови визначається різним переліком фаз збірки, де фаза збірки являє собою етап життєвого циклу.

Наприклад, життєвий цикл за замовчуванням містить наступні фази (повний перелік фаз життєвого циклу див. У Довідці про життєвий цикл):

  • валідація - валідація проекту правильна, і вся необхідна інформація доступна
  • compile - компілюйте вихідний код проекту
  • тест - протестуйте скомпільований вихідний код за допомогою відповідної рамки тестування одиниць. Ці тести не повинні вимагати упаковки чи розгортання коду
  • Пакет - візьміть складений код і упакуйте його у своєму форматі, що розподіляється, наприклад, JAR. перевірити - запустити будь-які перевірки результатів інтеграційних тестів для забезпечення дотримання критеріїв якості
  • install - встановіть пакет у локальний сховище, щоб використовувати його як залежність в інших проектах на місцевому рівні
  • розгортання - робиться в середовищі збирання, копіює остаточний пакет у віддалений сховище для спільного використання з іншими розробниками та проектами.

Ці фази життєвого циклу (плюс інші фази життєвого циклу, не показані тут) виконуються послідовно для завершення стандартного життєвого циклу. З огляду на вищезазначені етапи життєвого циклу, це означає, що коли використовується життєвий цикл за замовчуванням, Maven спочатку перевірить проект, потім спробує скласти джерела, запустити їх проти тестів, упакувати двійкові файли (наприклад, jar), виконати інтеграційні тести проти цього пакет, перевірити інтеграційні тести, встановити перевірений пакет у локальне сховище, а потім розгорнути встановлений пакет у віддалене сховище.

Джерело: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.