springboot项目打成jar包,用的是webapp,Exception processing template "blog/index": Error resolving template [blog/index], template might not exist or might not be accessible by any of the configured Template Resolvers进去的时候出现了这个页面,打包jar里面也有webapp,路径也设置了: resources: static-locations: - classpath:/webapp/,但不知道为什么打不开
时间: 2024-03-24 21:41:15 浏览: 144
springboot打jar包之后下载文件的路径问题
5星 · 资源好评率100%
如果你在打包成 jar 后,使用的是 Spring Boot 的默认嵌入式 Tomcat 服务器,那么你需要将 `webapp` 目录放到 `src/main/resources/static/` 目录下,因为默认情况下,嵌入式 Tomcat 只会加载 `static` 目录下的静态资源文件。
如果你想使用 `webapp` 目录,你可以将它放到 `src/main/resources/` 目录下,并在 `application.properties` 中配置:
```
spring.mvc.view.prefix=classpath:/webapp/
spring.mvc.view.suffix=.html
```
这样 Spring Boot 就会在 `webapp` 目录下寻找 HTML 模板文件。
另外,你提到的错误信息可能是因为 Thymeleaf 无法找到 `blog/index.html` 模板文件。请确保你在 `webapp` 目录下有 `blog/index.html` 文件,并且配置了 Thymeleaf 的视图解析器,例如:
```
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setPrefix("classpath:/webapp/");
templateResolver.setSuffix(".html");
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setCacheable(false);
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
return viewResolver;
}
```
这样就可以使用 Thymeleaf 渲染 `webapp` 目录下的 HTML 模板文件了。
阅读全文