欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用thymeleaf作模板的项目打成jar包运行时报错:Error resolving template,template might not exist or might not be access

程序员文章站 2022-06-05 19:31:04
...

问题描述:在springboot项目中使用thymeleaf作模板,项目在开发环境运行是没问题的,但打成jar包运行时会报错,错误如下图:

用thymeleaf作模板的项目打成jar包运行时报错:Error resolving template,template might not exist or might not be access

看错误是模板页不存在,但在jar里是能找到模板页的,报错的位置如下:

用thymeleaf作模板的项目打成jar包运行时报错:Error resolving template,template might not exist or might not be access

这里我使用了th:replace标签来嵌入页面,这就是问题的症结所在,是因为指向模板的路径前有斜杆就会出错,所以在引用模板文件的时候不用“/”打头就可以解决了,通过类似相对路径的方式来引用,但需要说明的是,这里的相对路径仍然是相对于模板根目录

解决方案一(在引用模板文件的时候通过类似相对路径的方式来引用)

modelAndView.addObject("view","/diary/list");

改成

modelAndView.addObject("view","diary/list");

解决方案二(在yml文件里增加配置)

在yml文件里增加以下配置覆盖掉默认的配置:

spring:
  thymeleaf:
    prefix: classpath:/templates

用thymeleaf作模板的项目打成jar包运行时报错:Error resolving template,template might not exist or might not be access