У меня есть конфигурация сборки maven, которая включает в себя некоторые классы и исключает кучу зависимостей, которые мы не хотим содержать в затененном jar.
Сборка работает нормально, и у нас есть исполняемый файл jar. Теперь у меня есть еще один проект maven, содержащий набор тестов, который зависит от проекта Maven с затененным плагином.
Я хотел бы проверить, что затененный jar способен выполнять мой набор тестов. Однако:
- Когда я запускаю как maven install / exec, зависимость не от затененного jar и включает классы, которые я специально удалил
- Когда я упаковываю затененный jar, инабор тестов, набор тестов извлекается из репозитория m2 и содержит классы, которые я специально удалил.
Как я могу проверить свой сосуд из команды maven? Спасибо
РЕДАКТИРОВАТЬ -
Мои интеграционные тесты включают три зависимости, все из которых используются для выполнения сквозных тестов. Для ясности структура моего проекта выглядит следующим образом:
integration-tests (cucumber test suite)
|_ module 1 (executable jar with custom dependency inclusion/exclusion)
|_ module 4
|_ module 5
|_ module 2 (executable jar)
|_ module 3 (executable jar)
Когда я собираю и запускаю интеграционные тесты, зависимость для модуля 1 берется из репозитория m2. На самом деле я хотел бы запустить тесты на упакованном jar с включенными / исключенными классами, чтобы убедиться, что он работает правильно после того, как пакет mvn удалил исключения.
EDIT 2 -
Я добавил интеграционный тест в проект (типа junit). Это успешно выполняется на этапе тестирования интеграции maven. Тем не менее, когда я удаляю некоторые классы, необходимые для тестов, из списка включенных плагинов maven-shade-plugin, тесты все равно проходят (после пакета).
Как проверить, что интеграция будет успешно выполняться в затененной банке? Нужно ли настраивать тест для фактического запуска и проверки вывода из банки?