Mvn установить или Mvn пакет

java maven myeclipse

134898 просмотра

8 ответа

Я новичок в Maven, у меня в MyEclipse настроен веб-проект на основе Java с maven.
Теперь, если я изменил какие-либо файлы Java, то мне нужно сделать Run as -> Mvn installили Mvn package?

Автор: user2192023 Источник Размещён: 12.11.2019 09:18

Ответы (8)


151 плюса

от http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

packageВозьмите скомпилированный код и упакуйте его в распространяемый формат, такой как JAR.

install: установить пакет в локальный репозиторий для локального использования в качестве зависимости в других проектах

Таким образом, ответ на ваш вопрос зависит от того, хотите ли вы, чтобы он был установлен в вашем локальном репо. Установка также запустит пакет, потому что он находится выше в стеке целевой фазы.

Автор: ezcodr Размещён: 20.03.2013 05:56

32 плюса

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каталог и воссоздает все банки в этом месте.
Чистка помогает с ненужными или удаленными вещами, которые могут иногда мешать.
Скорее тогда отладка (иногда) просто начните все время заново.

Автор: Johan Размещён: 20.03.2013 05:51

9 плюса

Из ссылки Lifecycle , установка будет работать интеграционные тесты проекта, пакет не будет.

Если вам действительно не нужно устанавливать сгенерированные артефакты, используйте хотя бы проверку .

Автор: dna Размещён: 22.04.2015 05:06

5 плюса

Также вы должны заметить, что если ваш проект состоит из нескольких модулей, которые зависят друг от друга, вы должны использовать «install» вместо «package», иначе ваша сборка не удастся, так как при использовании команды install модуль A будет упакован и развертывается в локальном хранилище, а затем, если модуль B нуждается в модуле A в качестве зависимости, он может получить к нему доступ из локального хранилища.

Автор: Mr.Q Размещён: 29.07.2016 08:48

4 плюса

Если вы не используете удаленный репозиторий (например, артефакт), используйте обычный старый: mvn clean install

Довольно старая тема, но AFAIK, если вы запускаете свой собственный репозиторий (например, с артефактом), чтобы разделить jar среди своих команд, вы можете использовать

mvn clean deploy

вместо.

Таким образом, ваш сервер непрерывной интеграции может быть уверен, что все зависимости правильно вставлены в ваш удаленный репозиторий. Если вы пропустили один, mvn не сможет найти его в вашем локальном m2 репозитории CI.

Автор: user1853859 Размещён: 03.12.2015 03:46

2 плюса

package - берет скомпилированный код и упаковывает его в его распространяемый формат, такой как файл JAR или WAR. установить - установить пакет в локальный репозиторий, для локального использования в качестве зависимости в других проектах

Автор: Elilmatha Sivanesan Размещён: 24.02.2015 06:13

1 плюс

Правильный путь , mvn packageесли вы сделали все правильно для основной части вашей сборки , то не должно быть никакой необходимости устанавливать свои пакеты в локальном хранилище.

Кроме того, если вы используете Travis, вы можете «кэшировать» свои зависимости, потому что это не коснется вашей, $HOME.m2/repositoryесли вы используете пакет для своего собственного проекта.

На практике, если вы даже пытаетесь сделать это, mvn siteвам обычно нужно сделать это mvn installраньше. Слишком много багов либо с siteплагинами, либо с плохим обслуживанием.

Автор: Archimedes Trajano Размещён: 13.05.2017 11:25

0 плюса

Это зависит от того, чего вы пытаетесь достичь после изменения файла Java. Пока вы не захотите протестировать maven-процесс, вам никогда не нужно ничего делать. Eclipse / MyEclipse создаст то, что необходимо, и поместит вывод в соответствующее место в вашем проекте. Вы также можете запустить или развернуть его (например, если это веб-проект), без необходимости явно что-либо делать с maven. В конце, чтобы установить ваш проект в репозиторий maven, вам нужно будет выполнить установку maven. У вас также могут быть другие задачи, которые вы хотите выполнить, но MyEclipse не будет выполнять их автоматически.

Как я уже сказал, это зависит от того, что вы хотите сделать.

Автор: Tony Weddle Размещён: 21.03.2013 06:04
Вопросы из категории :
32x32