Можем ли мы начать сборку maven с того места, где она не удалась


89

Предположим, я делаю полную сборку своего большого проекта, в котором есть 7 модулей, а на 6-м модуле сборка не удалась из-за неудачного теста. Есть ли способ начать сборку с момента ее сбоя?

Ответы:


134

Вы можете возобновить сборку с 6-го модуля, используя -rfили --resume-from:

-rf, --resume-from
          Возобновить реактор из указанного проекта

Подробности см. В разделе Advanced Reactor Options .


Спасибо за это. Я попробую
Шекхар

1
это хорошо, для подпроектов просто используйте subproject/subsubprojectкак параметр
akostadinov

13
Пример:maven -rf <module name> clean install
Zoltán

9
Это сработало для меня только тогда, когда я добавил имя модуля с двоеточием, например mvn -rf :moduleName install. (Не уверен, зачем нужен двоеточие, но, похоже, так оно и есть - по крайней мере, для моей установки.)
Стив Чемберс,

3
Похоже, это работает только в том случае, если ваша первоначальная сборка имела installцель, потому что возобновляемая сборка может затем получить артефакты, которые уже были созданы из вашего локального репозитория Maven, для разрешения зависимостей от них. Я считаю плохой практикой запускать installсборки, поскольку вы в конечном итоге загромождаете свой локальный репозиторий снимками, и в итоге вы можете зависеть от более старого снимка, чем вы ожидаете. Похоже, что для сборок, в которых только вы packageи не installиспользуете, использование -rfне вариант: вам придется выполнять сборку целиком.
Франс,


9

вы можете возобновить сборку из любого модуля, который хотите, с помощью -rfкоманды. Например, если ваша сборка не удалась в myproject-proxy, вы можете использовать следующую команду:

mvn -rf myproject-proxy clean install

Мне нужно было поставить двоеточие, чтобы это работало, например -rf: yourModule См. Другие ответы.
Gapmeister66 02

8

посмотрите сводку maven, и вы увидите выполненные модули и место остановки maven. тогда попробуйте это:

mvn clean install-Dmaven.test.skip=true -rf :yourModule

-1

Синтаксис: 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
Гили

-2

Вы можете запустить сборку модуля 6 отдельно, чтобы убедиться, что он по-прежнему не работает, но я боюсь, что вам нужно собрать все модули с самого начала, если вы хотите запустить «большую» сборку.

Изменить: конечно, последующие сборки будут быстрее, потому что код модулей 1-5 уже скомпилирован, если вы не запустите чистую как часть своей сборки.


Да .. Я знаю это .. Но я искал способ начать сборку с того момента, когда она потерпела неудачу ..
Шекхар
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.