我正在开发一个Spring Boot应用程序。我需要在启动时解析XML文件(countries.xml)。问题是我不知道将它放在哪里才能访问它。我的文件夹结构是
ProjectDirectory/src/main/javaProjectDirectory/src/main/resources/countries.xml我的第一个想法是将其放在src / main / resources中,但是当我尝试创建File(countries.xml)时,我得到一个NPE,并且stacktrace显示我的文件在ProjectDirectory中查找(因此src / main / resources /未添加)。我尝试创建File(resources / countries.xml),路径看起来像ProjectDirectory / resources / countries.xml(因此再次未添加src / main)。
我尝试添加此没有结果@Overridepublic void addResourceHandlers(final ResourceHandlerRegistry registry) { registry.addResourceHandler(“/resources/**”).addResourceLocations(“/resources/”); registry.setOrder(Ordered.HIGHEST_PRECEDENCE); super.addResourceHandlers(registry);}我知道我可以手动添加src / main /,但是我想了解为什么它无法正常工作。我还尝试了使用ResourceLoader的示例-没有结果。
任何人都可以提出问题所在吗?
更新: 仅供以后参考-构建项目后,我在访问文件时遇到问题,因此我将File更改为InputStream
InputStream is = new ClassPathResource(“countries.xml”).getInputStream();
ProjectDirectory/src/main/java ProjectDirectory/src/main/resources/countries.xml @Override public void addResourceHandlers(final ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); registry.setOrder(Ordered.HIGHEST_PRECEDENCE); super.addResourceHandlers(registry); }