Как выполнить Maven install или deploy только, без повторной упаковки/тестирования?

Вопрос или проблема

Иногда я хотел развернуть, но вместо этого был введён mvn package.

Иногда я хочу развернуть в другой альтернативный репозиторий (используя mvn deploy -DaltDeploymentRepository=...), сразу после развертывания по умолчанию.

Поэтому я действительно не хочу снова упаковывать и тестировать их, потому что они уже успешно прошли. Результирующие jar-файлы просто находятся в директории target/. Я надеюсь, что смогу их развернуть.

Я знаю, что существует deploy:deploy-file, но это неудобно, я не хочу снова указывать groupId и artifactId в командной строке. Это не сработает для больших проектов, которые содержат много jar-файлов для развертывания, тоже.

Используйте флаг командной строки maven.test.skip для пропуска тестов:

mvn -Dmaven.test.skip=true install

Используйте флаг командной строки maven.repo.list для добавления другого репозитория:

mvn -Dmaven.repo.list=

Ответ или решение

Чтобы выполнить команды Maven для установки (install) или развертывания (deploy) без повторного упаковывания (re-package) или тестирования (re-test), вы можете использовать следующие рекомендации:

Установка (install) без упаковки и тестирования

Если вы уже выполнили команду mvn package и получили необходимые артефакты в директории target/, вы можете выполнить установку в локальный репозиторий без повторного упаковывания и тестирования следующим образом:

mvn install:install-file -Dfile=target/ваш-артефакт.jar -DgroupId=ваш.groupId -DartifactId=ваш.artifactId -Dversion=ваша.версия -Dpackaging=jar

При этом вам нужно указать файл (ваш-артефакт.jar) и метаданные (groupId, artifactId, version). Это может быть неудобно для больших проектов, но позволяет избежать повторного тестирования.

Развертывание (deploy) без повторного тестирования

Если вы хотите развернуть уже готовый артефакт в удалённый репозиторий, вы можете использовать плагин maven-deploy-plugin для непосредственного развертывания ваших артефактов:

  1. По умолчанию (если уже выполнили mvn package):
mvn deploy:deploy-file -Dfile=target/ваш-артефакт.jar -DpomFile=pom.xml -DrepositoryId=ваш.repository.id -Durl=ваш.url.репозитория

Здесь вы указываете путь к уже созданному jar файлу, а также к POM файлу вашего проекта. Это упростит процесс развертывания.

  1. Для альтернативного репозитория можно использовать флаг -DaltDeploymentRepository:
mvn deploy -DaltDeploymentRepository=ваш.идентификатор:начальный_путь

Этот подход позволяет развернуть артефакт в любое место, используя существующие параметры.

Пропуск тестов

При необходимости вы можете пропустить тесты, установив флаг maven.test.skip=true:

mvn install -Dmaven.test.skip=true

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

Заключение

Для удобства работы с Maven и выполнения развертывания или установки уже существующих артефактов без необходимости повторного тестирования и упаковки, используйте команды install:install-file и deploy:deploy-file. Это позволит вам эффективно управлять зависимостями и артефактами в проекте, не теряя времени на повторные сборки.

Оцените материал
Добавить комментарий

Капча загружается...