Mvn установить или Mvn пакет
134898 просмотра
8 ответа
Я новичок в Maven, у меня в MyEclipse настроен веб-проект на основе Java с maven.
Теперь, если я изменил какие-либо файлы Java, то мне нужно сделать Run as -> Mvn install
или Mvn package
?
Ответы (8)
151 плюса
от http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
package
Возьмите скомпилированный код и упакуйте его в распространяемый формат, такой как JAR.
install
: установить пакет в локальный репозиторий для локального использования в качестве зависимости в других проектах
Таким образом, ответ на ваш вопрос зависит от того, хотите ли вы, чтобы он был установлен в вашем локальном репо. Установка также запустит пакет, потому что он находится выше в стеке целевой фазы.
Автор: ezcodr Размещён: 20.03.2013 05:5632 плюса
mvn install
это вариант, который чаще всего используется.
mvn package
редко используется, только если вы отлаживаете какую-то проблему в процессе сборки maven.
Смотрите: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
Обратите внимание, что mvn package
будет только создать файл JAR.
mvn install
сделает это и установит файлы jar (и class и т. д.) в соответствующие места, если другой код зависит от этих jar.
Я обычно делаю mvn clean install
; Это удаляет target
каталог и воссоздает все банки в этом месте.
Чистка помогает с ненужными или удаленными вещами, которые могут иногда мешать.
Скорее тогда отладка (иногда) просто начните все время заново.
9 плюса
Из ссылки Lifecycle , установка будет работать интеграционные тесты проекта, пакет не будет.
Если вам действительно не нужно устанавливать сгенерированные артефакты, используйте хотя бы проверку .
Автор: dna Размещён: 22.04.2015 05:065 плюса
Также вы должны заметить, что если ваш проект состоит из нескольких модулей, которые зависят друг от друга, вы должны использовать «install» вместо «package», иначе ваша сборка не удастся, так как при использовании команды install модуль A будет упакован и развертывается в локальном хранилище, а затем, если модуль B нуждается в модуле A в качестве зависимости, он может получить к нему доступ из локального хранилища.
Автор: Mr.Q Размещён: 29.07.2016 08:484 плюса
Если вы не используете удаленный репозиторий (например, артефакт), используйте обычный старый:
mvn clean install
Довольно старая тема, но AFAIK, если вы запускаете свой собственный репозиторий (например, с артефактом), чтобы разделить jar среди своих команд, вы можете использовать
mvn clean deploy
вместо.
Таким образом, ваш сервер непрерывной интеграции может быть уверен, что все зависимости правильно вставлены в ваш удаленный репозиторий. Если вы пропустили один, mvn не сможет найти его в вашем локальном m2 репозитории CI.
Автор: user1853859 Размещён: 03.12.2015 03:462 плюса
package - берет скомпилированный код и упаковывает его в его распространяемый формат, такой как файл JAR или WAR. установить - установить пакет в локальный репозиторий, для локального использования в качестве зависимости в других проектах
Автор: Elilmatha Sivanesan Размещён: 24.02.2015 06:131 плюс
Правильный путь , mvn package
если вы сделали все правильно для основной части вашей сборки , то не должно быть никакой необходимости устанавливать свои пакеты в локальном хранилище.
Кроме того, если вы используете Travis, вы можете «кэшировать» свои зависимости, потому что это не коснется вашей, $HOME.m2/repository
если вы используете пакет для своего собственного проекта.
На практике, если вы даже пытаетесь сделать это, mvn site
вам обычно нужно сделать это mvn install
раньше. Слишком много багов либо с site
плагинами, либо с плохим обслуживанием.
0 плюса
Это зависит от того, чего вы пытаетесь достичь после изменения файла Java. Пока вы не захотите протестировать maven-процесс, вам никогда не нужно ничего делать. Eclipse / MyEclipse создаст то, что необходимо, и поместит вывод в соответствующее место в вашем проекте. Вы также можете запустить или развернуть его (например, если это веб-проект), без необходимости явно что-либо делать с maven. В конце, чтобы установить ваш проект в репозиторий maven, вам нужно будет выполнить установку maven. У вас также могут быть другие задачи, которые вы хотите выполнить, но MyEclipse не будет выполнять их автоматически.
Как я уже сказал, это зависит от того, что вы хотите сделать.
Автор: Tony Weddle Размещён: 21.03.2013 06:04Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- java Почему я не могу объявить статические методы в интерфейсе?
- maven Лучшие практики для копирования файлов с Maven
- maven Найти драйвер Oracle JDBC в репозитории Maven
- maven Maven Run Project
- maven Maven-подобное управление зависимостями для C ++?
- maven Как я могу использовать Maven через прокси?
- maven Есть ли простой способ удалить неиспользуемые зависимости из maven pom.xml?
- myeclipse Могу ли я использовать только Eclipse IDE без myeclipse?
- myeclipse Ошибка нехватки памяти в eclipse.why?
- myeclipse Mvn установить или Mvn пакет
- myeclipse В jsp: строка не может быть разрешена в тип
- myeclipse Произошла внутренняя ошибка во время: «Инициализация метрик». ком / genuitec / затмение / ядро ??/ gsdc / GSDCController
- myeclipse Как получить Eclipse для блоков кода с автоматическим отступом в операторах if и for?