Я работаю над приложением загрузки Spring. Мне нужно разобрать XML файл (countries.xml) при запуске. Проблема в том, что я не понимаю, куда ее поставить, чтобы я мог получить к ней доступ. Структура моих папок
ProjectDirectory/src/main/java
ProjectDirectory/src/main/resources/countries.xml
Моя первая идея заключалась в том, чтобы поместить его в src/main/resources, но когда я пытаюсь создать File (countries.xml), я получаю NPE, а stacktrace показывает, что мой файл просматривается в ProjectDirectory (поэтому src/main/resources/не добавляется). Я попытался создать файл (resources/countries.xml), и путь будет выглядеть как ProjectDirectory/resources/countries.xml(так что снова src/main не добавлен).
Я попытался добавить это без результата
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
super.addResourceHandlers(registry);
}
Я знаю, что могу добавить src/main/вручную, но я хочу понять, почему он не работает так, как должен. Я также пробовал примеры с ResourceLoader - с тем же результатом.
Может ли кто-нибудь предположить, в чем проблема?
UPDATE: Только для будущих ссылок - после создания проекта у меня возникла проблема с доступом к файлу, поэтому я изменил файл на InputStream
InputStream is = new ClassPathResource("countries.xml").getInputStream();