Подтвердить что ты не робот

Как сделать maven использовать тестовые ресурсы

когда я использую команду: mvn test, maven использует основные ресурсы вместо тестовых в src/test/resources.

Как я могу заставить maven использовать тестовые ресурсы, а не основные ресурсы?

EDIT: я использую Classloader для поиска моих ресурсов. Classloader может найти ресурсы из моего каталога src/test/resources, но он сначала ищет в src/main/java ресурс.

ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream file =loader.getResourceAsStream("resource.xml");

Или есть ли какое-либо свойство, которое я могу использовать во время выполнения команды maven, которая будет определять приоритет пути к классам?

РЕДАКТИРОВАТЬ 2: Я выяснил проблему, она загружается из теста/ресурсов для теста, однако мой тест включает развертывание webapp (интеграционное тестирование), а оттуда, когда webapp обращается к ресурсу, он использует src/main/Ресурсы. Есть ли способ изменить порядок пути к классам или сделать один за другим для WAR, развернутого в контейнере причала?

4b9b3361

Ответ 1

Разве ты не можешь назвать это другим именем?
Loader не знает, что ваш ресурс .xml находится в src/main/resources или src/test/resources, это только путь поиска. Я думаю, проблема в том, что это не Maven, вот как должен работать Loader и он работает. От Maven вы могли бы отказаться от всех классов/ресурсов от src/main/resources при выполнении этапа тестирования?

Ответ 2

Проверьте целевой/тестовый класс на resource.xml. Ваш файл должен быть здесь. Если вы найдете этот файл, я думаю, что одно и то же имя является проблемой. Попробуйте переименовать файл, например, в test-resource.xml. Если файл не существует в каталоге тестовых классов, вы должны настроить управление ресурсами в maven pom.xml. Используйте maven-resouce-plugin. Надеюсь, что это поможет.