Припустимо, я повністю будую свій великий проект, який має 7 модулів, а на 6-му модулі, збірка не вдалася, оскільки не вдалося провести тест. Чи є спосіб, за допомогою якого я можу розпочати збірку з того моменту, коли вона не вдалася?
Відповіді:
Ви можете відновити збірку з 6-го модуля, використовуючи -rf
або --resume-from
:
-rf, --resume-from
Відновити реактор із зазначеного проекту
Детальніше див. У Розширених параметрах реактора .
subproject/subsubproject
як параметр
maven -rf <module name> clean install
mvn -rf :moduleName install
. (Не впевнений точно, для чого потрібна товста кишка, але, схоже, це потрібно - принаймні для моєї установки.)
install
мета, оскільки відновлювана збірка може потім отримати артефакти, які вже були побудовані з вашого локального сховища Maven, для вирішення залежностей від них. Я вважаю поганою практикою запускати install
збірки, оскільки ви в кінцевому підсумку захаращуєте своє локальне сховище моментальними знімками, і ви можете в кінцевому підсумку залежати від старого знімка, ніж ви очікуєте. Схоже, для збірок, де ви лише package
і ні install
, використання -rf
не є варіантом: вам доведеться виконати всю збірку.
Ви можете відновити збірку з будь-якого потрібного вам модуля за допомогою -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-від ім'я модуля mavengoal
Наприклад: mvn -rf admin-module clean install або mvn --resume-from admin-module clean install
-rf
не є коротким для --remove-from
. Це скорочено для--resume-from
Ви можете запустити збірку модуля 6 окремо, щоб перевірити, чи він все ще не вдається, але я боюся, що вам потрібно будувати всі модулі з самого початку, коли ви хочете запустити "велику" збірку.
Змінити: Звичайно, наступні збірки будуть швидшими, оскільки код модулів 1-5 вже скомпільований, якщо ви не запустили чистий процес як частину вашої збірки.