此文章发布于74个月前,部分信息可能已经过时,请自行斟酌确认。
Spring Boot 资源文件路径
默认情况下,Spring Boot 项目中静态资源存放在 src/main/resources/static、src/main/resources/public、src/main/resources/resources 或 src/main/resources/META-INF/resources 中,模板文件存放在 src/main/resources/templates 中。
问题描述
假设我们的项目中需要用到一个 js 库(这里以 layui 为例),我们将它放入 src/main/resources/static/jslib 目录;在模板文件 src/main/resources/templates/greeting.html 中我们需要引用 layui.css 和 layui.js,正确的写法如下图所示:

Intellij IDEA 在这里提示 Cannot resolve controller URL,按下 Ctrl 键也无法导航到文件。其实运行起来是没有问题的,虽然算不上什么大问题,但仍然给我们的开发带来不少麻烦。
解决方案
1、首先,通过 File 菜单打开 Project Structure 对话框,从左侧面板选中 Facets,在右侧面板中选中 Web - Web(项目名.main),如下图所示:

2、然后我们在 Web Resource Directory 中添加两个目录 src/main/resources/static/ 和 src/main/resources/templates,相对于网站根目录都是 /,如下图所示:

这样就解决了。