Предположим, я делаю полную сборку своего большого проекта, в котором есть 7 модулей, а на 6-м модуле сборка не удалась из-за неудачного теста. Есть ли способ начать сборку с момента ее сбоя?
89
Вы можете возобновить сборку с 6-го модуля, используя -rf
или --resume-from
:
-rf, --resume-from
Возобновить реактор из указанного проекта
Подробности см. В разделе Advanced Reactor Options .
subproject/subsubproject
как параметрmaven -rf <module name> clean install
mvn -rf :moduleName install
. (Не уверен, зачем нужен двоеточие, но, похоже, так оно и есть - по крайней мере, для моей установки.)install
цель, потому что возобновляемая сборка может затем получить артефакты, которые уже были созданы из вашего локального репозитория Maven, для разрешения зависимостей от них. Я считаю плохой практикой запускатьinstall
сборки, поскольку вы в конечном итоге загромождаете свой локальный репозиторий снимками, и в итоге вы можете зависеть от более старого снимка, чем вы ожидаете. Похоже, что для сборок, в которых только выpackage
и неinstall
используете, использование-rf
не вариант: вам придется выполнять сборку целиком.Вот пример
mvn clean install -rf :your-module
источник
вы можете возобновить сборку из любого модуля, который хотите, с помощью
-rf
команды. Например, если ваша сборка не удалась в myproject-proxy, вы можете использовать следующую команду:mvn -rf myproject-proxy clean install
источник
посмотрите сводку maven, и вы увидите выполненные модули и место остановки maven. тогда попробуйте это:
mvn clean install-Dmaven.test.skip=true -rf :yourModule
источник
Синтаксис: mvn -rf имя модуля mavengoal или mvn --resume-from имя модуля mavengoal
Пример: mvn -rf admin-module clean install или mvn --resume-from admin-module clean install
источник
-rf
не является сокращением--remove-from
. Это сокращение от--resume-from
Вы можете запустить сборку модуля 6 отдельно, чтобы убедиться, что он по-прежнему не работает, но я боюсь, что вам нужно собрать все модули с самого начала, если вы хотите запустить «большую» сборку.
Изменить: конечно, последующие сборки будут быстрее, потому что код модулей 1-5 уже скомпилирован, если вы не запустите чистую как часть своей сборки.
источник