Springboot + Thymeleaf,用mvn spring-boot:run启动则找不到模板文件
来源:互联网 发布:如何通过网络定位找人 编辑:程序博客网 时间:2024/06/03 05:06
现象:
Springboot + Thymeleaf,用java -jar正常,用mvn spring-boot:run启动则找不到模板文件。
异常如下:
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "index", template might not exist or might not be accessible by any of the configured Template Resolvers
解决方案:
@Beanpublic TemplateResolver templateResolver() { TemplateResolver tr = new ClassLoaderTemplateResolver(); tr.setPrefix("templates/"); // 注意template/前面没有"/",也不要加"classpath:", // 否则如果用mvn启动会找不到模板(通过目录读class找不到,通过读jar可找到,即用java -jar正常) tr.setSuffix(".html"); tr.setTemplateMode("HTML5"); tr.setOrder(0); return tr;}
分析:
如果TemplateResolver的Prefix跟网上很多贴写的设置成:"classpath:/templates/"或"classthpath:templates/",都没用。
经分析,是ClassLoaderResourceResolver最后会调用java的ClassLoader.getResourceAsStream(),但传进去的资料地址就是TemplateResolver拼凑出来的,比如“classpath:/templates”,这种写法在读取jar包时是没问题的,但在读文件目录下的class时就会有问题。正确做法是TemplateResolver设置Prefix时,不要加“classpath:”前缀,也不要在最前面加“/”。
P.S.
用mvn spring-boot:run启动springboot项目时,系统是直接读target/classes目录下的class的。
阅读全文
0 0
- Springboot + Thymeleaf,用mvn spring-boot:run启动则找不到模板文件
- mvn spring-boot:run命令
- spring-boot--使用thymeleaf模板
- spring-boot--使用thymeleaf模板
- Spring Boot使用thymeleaf模板
- spring-boot--整合thymeleaf模板
- spring-boot--使用thymeleaf模板
- spring-boot--使用thymeleaf模板
- spring boot使用thymeleaf模板
- spring-boot thymeleaf模板学习
- spring-boot--使用thymeleaf模板
- Spring Boot 使用 Thymeleaf模板
- spring-boot--使用thymeleaf模板
- Spring boot使用thymeleaf模板
- spring-boot--整合thymeleaf模板
- Spring Boot–thymeleaf模板
- mvn spring-boot:run命令停止方法
- maven mvn spring-boot:run执行失败
- Atom Teletype:我们一起来写代码吧
- java面试题
- GMSSL SM9-签名验签流程
- Unity3D研究院之打开照相机与本地相册进行裁剪显示
- URL中“#”、 “?”、“&”号的作用
- Springboot + Thymeleaf,用mvn spring-boot:run启动则找不到模板文件
- 拦截器
- 页面ajax提交form 表单 以及后台接收
- 解决进入Activity默认焦点选中第一个EditText,并弹出软键盘。
- Android 系统服务一览表
- 洛谷3613:睡觉困难综合症(LCT+机巧的位运算)
- 生成进度条(动态生成文件,并前端显示生成进度)
- expect简单应用
- 移动精灵