Несколько разных путей к классам во время выполнения теста maven
Для проекта Java я хочу раскрутить серверное приложение во время интеграционного теста (maven-failsafe-plugin
, может быть переключен).
проблема
- Приложение сервера должно быть получено через Maven
- Мой проект и сервер зависят от общей библиотеки
- Версия моей копии разделяемой библиотеки может отличаться от версии серверного приложения.
(Во время тестирования используется даже третье приложение, но применяются те же требования)
Текущее решение
- Создайте загрузчик классов вручную, вручную создайте путь к классам, запустите приложение сервера в пользовательском пути к классам
- ручное разрешение зависимостей отстой. Должен быть переделан при изменении зависимостей.
- Поместите все на classpath, удалите вещи, которые ломаются.
- Также руководство...
желание
- Укажите "профиль зависимости" в
pom.xml
для каждого компонента - Во время тестового звонка что-то вроде:
Maven.getClassLoaderForProfile("server")
получение загрузчика классов со всеми зависимостями (включая транзитивные) - Загрузить приложение в этот загрузчик классов