Які саме відмінності між mvn clean package
і mvn clean install
? Коли я запускаю обидві ці команди, вони обидва роблять те саме.
Які саме відмінності між mvn clean package
і mvn clean install
? Коли я запускаю обидві ці команди, вони обидва роблять те саме.
Відповіді:
Ну, і обидва прибиратимуть. Це означає, що вони видалять цільову папку. Справжнє питання - в чому різниця між пакетом та установкою?
package
складе ваш код, а також пакує його. Наприклад, якщо ваш пом каже, що проект є баночкою, він створить банку для вас, коли ви пакуєте його і поміщаєте десь у цільовий каталог (за замовчуванням).
install
буде компілювати та пакувати, але він також розмістить пакунок у вашому локальному сховищі. Це зробить так, щоб інші проекти могли посилатися на нього та брати його з вашого місцевого сховища.
mvn clean install
не швидше, ніж mvn package
.
Що робить чистий (загальний для обох команд) - видаляє всі файли, створені попередньою збіркою
Приходячи до різниці між пакетом команд та встановленням , спочатку потрібно зрозуміти життєвий цикл проекту Maven
Це фази життєвого циклу за замовчуванням у Maven
Як працює Maven, якщо ви запускаєте команду для будь-якої з фаз життєвого циклу, вона виконує кожну фазу життєвого циклу за замовчуванням, перш ніж виконувати команду.
порядок виконання
перевірити >> скласти >> тест (необов’язково) >> пакет >> перевірити >> встановити >> розгорнути
Отже, коли ви запускаєте командний пакет mvn , він виконує команди для всіх фаз життєвого циклу до пакету
перевірити >> компілювати >> тест (необов’язково) >> пакет
А що стосується встановлення mvn , він виконує команди для всіх етапів життєвого циклу до встановлення, що включає також пакет
перевірити >> компілювати >> тест (необов’язково) >> пакет >> перевірити >> встановити
Отже, фактично, що це означає, це встановлення команд робить усе, що робить команда пакету та ще багато чого (встановлення пакета в локальне сховище, для використання як залежність в інших проектах на місцевому рівні)
Джерело: Довідник про життєвий цикл Мейвена
пакет генерує Jar / war відповідно до файлу POM. install встановить створений jar файл у локальне сховище для інших залежностей, якщо такі є.
Фаза встановлення настає після фази пакета
Упаковка та встановлення - це різні етапи життєвого циклу створення Maven. Фаза пакета буде виконувати всі фази до цього, і він зупиниться з упаковкою проекту у банку. Аналогічно, фаза встановлення виконає всі попередні етапи і, нарешті, встановить проект локально для інших залежних проектів.
Щоб зрозуміти життєвий цикл Maven build, перейдіть за посиланням https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html
package
додасть упаковку jar
або war
у вашу target
папку. Ми можемо перевірити це, коли ми спорожнимо цільову папку (використовуючи mvn clean
) та запустимо mvn package
.
install
буде робити все те, що package
робить, додатково додасть упакований jar
або war
в локальний сховище. Ми можемо підтвердити це, перевіривши у вашій .m2
папці.
package
таinstall
.