Spring Statische Ressourcen für den Startzugriff fehlen scr / main / resources
Ich arbeite an einer Spring Boot-Anwendung. Ich muss beim Start eine XML-Datei (Countries.xml) analysieren. Das Problem ist, dass ich nicht verstehe, wo ich es ablegen soll, damit ich darauf zugreifen kann. Meine Ordnerstruktur ist
ProjectDirectory/src/main/java
ProjectDirectory/src/main/resources/countries.xml
Meine erste Idee war, es in src / main / resources abzulegen, aber wenn ich versuche, eine Datei (Countries.xml) zu erstellen, erhalte ich eine NPE und die Stapelverfolgung zeigt, dass meine Datei im ProjectDirectory (also src / main / resources) gesucht wird / wird nicht hinzugefügt). Ich habe versucht, eine Datei (resources / countries.xml) zu erstellen, und der Pfad würde wie folgt aussehen: ProjectDirectory / resources / countries.xml (also wird src / main erneut nicht hinzugefügt).
Ich habe versucht, dies ohne Ergebnis hinzuzufügen
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
super.addResourceHandlers(registry);
}
Ich weiß, dass ich src / main / manuell hinzufügen kann, aber ich möchte verstehen, warum es nicht so funktioniert, wie es sein muss. Ich habe auch Beispiele mit ResourceLoader ausprobiert - mit demselben Ergebnis.
Kann jemand vorschlagen, was das Problem ist?
AKTUALISIEREN Nur für zukünftige Verweise - Nach dem Erstellen des Projekts ist ein Problem beim Zugriff auf die Datei aufgetreten. Daher habe ich File in InputStream @ geänder
InputStream is = new ClassPathResource("countries.xml").getInputStream();