我正在开发一个Spring
Boot应用程序。我需要在开始时解析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 /未添加)。我尝试创建File(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的示例-没有结果。
任何人都可以提出问题所在吗?
更新: 仅供以后参考-构建项目后,我在访问文件时遇到问题,因此我将File更改为InputStream
InputStream is = new ClassPathResource("countries.xml").getInputStream();
只需使用Spring类型的ClassPathResource即可。
File file = new ClassPathResource("countries.xml").getFile();
只要该文件在类路径中的某个位置,Spring就会找到它。这可以src/main/resources
在开发和测试期间。在生产中,它可以是当前运行目录。
编辑: 如果文件位于胖JAR中,则此方法不起作用 。在这种情况下,您需要使用:
InputStream is = new ClassPathResource("countries.xml").getInputStream();
更新:只是为了将来的参考-在构建项目之后,我遇到了访问文件的问题,所以我将文件更改为InputStream
我有一个SpringMVC 4。在应用程序上下文XML文件中定义了多个静态资源的x应用程序,如下所示: 这些文件分别存储在“/webapp/static/”目录和“/resources/static/”目录中(请参见映射,分别为和。在“js”和“css”子目录中有一些文件可以访问,但我最近添加的文件在尝试通过Netbeans控制的本地Tomcat服务器访问时返回404个错误。 我尝试了对sprin
本文向大家介绍SpringMVC访问静态资源的方法,包括了SpringMVC访问静态资源的方法的使用技巧和注意事项,需要的朋友参考一下 在SpringMVC中常用的就是Controller与View。但是我们常常会需要访问静态资源,如html,js,css,image等。 默认的访问的URL都会被DispatcherServlet所拦截,但是我们希望静态资源可以直接访问。该肿么办呢? 在配置文件:
每个网站都需要静态资源:图片、样式表、网站图标(favicon)等。在这种情况下,您可以在项目的根目录下创建一个名为 static 的目录。 放入 该目录中的每个文件都将被复制到 生成的 build 文件夹中,并保留目录的层级结构。例如,如果您将名为 sun.jpg 的文件添加到 static 文件夹中,则该文件将被复制到 build/sun.jpg 路径。 这意味着: 对于 baseUrl: '
本文向大家介绍SpringBoot静态资源路径配置及主页显示,包括了SpringBoot静态资源路径配置及主页显示的使用技巧和注意事项,需要的朋友参考一下 静态资源路径 静态资源支持放在以下路径中,访问优先级从上到下: classpath:/META-INF/resources/ classpath:/resources/ classpath:/static/ # 默认路径 classpath:/
我最近开始在我所有的项目中遇到这个问题。当我的索引页加载其中包含对jQuery源文件的引用时,我的控制台记录这个错误:。 这完全不影响我的应用程序,但是每当我打开控制台时,看到它真的很烦人。有人知道这是从哪里来的吗? 编辑:注意,我没有显式引用.map文件,我只是指向