mvn чиста установка проти розгортання проти випуску


132

Я просто навчаюсь Maven, і нам останнім часом потрібно більше і більше. Я хотів би знати різницю між

mvn clean install

mvn release

mvn deploy

Будьте максимально описовими.

Відповіді:


223

В clean, installі deploy фази є дійсними фазами життєвого циклу і їх виклику буде викликати всі етапи , що передують їм, і цілі , пов'язані з цими фазами.

mvn чистий встановити

Ця команда викликає послідовно cleanфазу, а потім installфазу:

  • clean: видаляє файли, створені під час збирання в каталозі проекту ( targetза замовчуванням)
  • install: встановлює пакунок у локальний сховище для використання в якості залежності в інших проектах на місцевому рівні .

mvn розгортання

Ця команда викликає deployфазу:

  • deploy: копіює остаточний пакет у віддалений сховище для спільного використання з іншими розробниками та проектами .

mvn реліз

Це не дійсна фаза і не мета, тому це нічого не призведе. Але якщо йдеться про плагін Maven Release, який використовується для автоматизації управління випуском. Випуск проекту робиться в два етапи: prepareі perform. Як задокументовано:

Підготовка випуску проходить через наступні фази випуску:

  • Переконайтесь, що в джерелах немає невідомих змін
  • Перевірте, чи немає залежностей від SNAPSHOT
  • Змініть версію POMs з x-SNAPSHOT на нову (вам буде запропоновано використовувати версії)
  • Перетворіть інформацію про SCM в POM, щоб включити кінцеве призначення тегу
  • Виконайте тести проектів щодо модифікованих УЗО, щоб підтвердити, що все працює
  • Введіть модифіковані POM
  • Позначте код у SCM з назвою версії (це буде запропоновано)
  • Збільшити версію в POMs до нового значення y-SNAPSHOT (ці значення також буде запропоновано)
  • Введіть модифіковані POM

І потім:

Виконання релізу виконує наступні фази випуску:

  • Оформити замовлення з URL-адреси SCM з додатковим тегом
  • Виконайте заздалегідь задані Maven цілі, щоб випустити проект (за замовчуванням, розгорнути сайт-розгортання)

Дивитися також


1
Поясніть, будь ласка, це: це не дійсна фаза, ані мета, тому це нічого не призведе. Але якщо йдеться про плагін Maven Release. Якщо це не фаза і не мета, то як ми це називаємо?
гвласов

26
  • mvn installпередасть ваш упакований проект Maven у локальне сховище для локального застосування, використовуючи ваш проект як залежність.
  • mvn release в основному помістіть ваш поточний код у тег на вашому SCM, змініть свою версію у своїх проектах.
  • mvn deployперенесе ваш упакований проект Maven у віддалений сховище для спільного використання з іншими розробниками.

Ресурси:

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