Maven развернуть из родительского проекта - PullRequest
3 голосов
/ 27 октября 2011

У меня есть родительский проект maven с несколькими дочерними проектами.При развертывании я хочу выполнить несколько сложных задач scp.Когда я запускаю mvn deploy, у меня появляется ошибка:

[INFO] Reactor Summary:
[INFO]
[INFO] Child project1 ............................... FAILURE [0.331s]
[INFO] Child project 2 .............................. SKIPPED
[INFO] Child project 3 .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
(default-deploy) on project Parent: Deployment failed: repository element 
was not specified in  the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]  

Я читаю вопрос Проблема развертывания с плагином Maven , он говорит, что мне нужно определить хранилище в settings.xml.Но у меня нет никакого репозитория, все, что я хочу сделать на этапе развертывания, это выполнить скрипт, который копирует файлы на сервер и выполняет другую работу.И я хочу выполнить этот скрипт только в родительском проекте и пропустить этот этап в дочернем.Я не очень много работал с Maven, так что, может быть, мне просто не хватает концепции Maven.

1 Ответ

3 голосов
/ 27 октября 2011

Если у вас нет хранилища (имеется в виду: развертывание / проект хранилище, а не локальное , которое у вас должно быть), тогда не запускайте mvn deploy, а скорееmvn install.Плагин Maven Release (по умолчанию привязанный к фазе deploy ) предназначен для установки артефактов в репозиторий проекта, маркировки его в репозитории управления версиями и тому подобного.Это означает, что вы должны определить репозитории и соединение с контролем исходного кода в своем основном POM и, возможно, учетные данные для доступа к репозиторию в settings.xml.

Если вы хотите пропустить определенные проекты (включены как <modules>, верно?), Я думаю, что вам лучше всего использовать профили с различными <modules> разделами внутри для каждого профиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...