用thymeleaf作模板的项目打成jar包运行时报错:Error resolving template,template might not exist or might not be access
程序员文章站
2022-06-05 19:31:04
...
问题描述:在springboot项目中使用thymeleaf作模板,项目在开发环境运行是没问题的,但打成jar包运行时会报错,错误如下图:
看错误是模板页不存在,但在jar里是能找到模板页的,报错的位置如下:
这里我使用了th:replace标签来嵌入页面,这就是问题的症结所在,是因为指向模板的路径前有斜杆就会出错,所以在引用模板文件的时候不用“/”打头就可以解决了,通过类似相对路径的方式来引用,但需要说明的是,这里的相对路径仍然是相对于模板根目录
解决方案一(在引用模板文件的时候通过类似相对路径的方式来引用)
将
modelAndView.addObject("view","/diary/list");
改成
modelAndView.addObject("view","diary/list");
解决方案二(在yml文件里增加配置)
在yml文件里增加以下配置覆盖掉默认的配置:
spring:
thymeleaf:
prefix: classpath:/templates