一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇

历史文章(文章累计500+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

《国内最全的Spring Boot系列之七》

ES 深度分页问题及针对不同需求下的解决方案[ES系列] - 第509篇

抖音主播/电商人员有福了,利用Suno创作产品宣传,让产品动起来-小米Su7 - 第510篇

Spring Boot整合ElasticSearch实战 - 第511篇

Transaction rolled back because it has been marked as - 第512篇

五音不全也浪漫,521清华学霸为爱人写歌 - 第513篇

悟纤:脑瓜疼,脑瓜疼~

悟纤:此时此刻,我想XX,但我从小接受的教育不支持我做这种事情。

师傅:徒儿,何事如此暴躁~

悟纤:你说奇不奇怪,本地环境运行的好好,到线上就不正常了~

师傅:这种情况也是最头疼的,但也是最能体现对技术深度的了解~

悟纤:那师傅赶紧帮我一起瞅瞅这是怎么回事了。

师傅:Let me see~

导读

最近在开发一个AI导航项目(地址在下面)的时候,遇到了springboot打包之后运行报错 Error resolving template [/base/meta], template not exist or might not be accessible这个异常,这个问题就很诡异,本地开发环境运行的就很正常,到线上就芭比Q了。

项目地址:http://ai.dzwlai.com/

AI导航站,汇总800+工具集合:

出现情况

idea直接运行一切正常,mvn package命令打包后访问/index时报错,报错信息如上下:

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - [log,175] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/NavWebsite/ai/site/site.html]")] with root causeorg.thymeleaf.exceptions.TemplateInputException: Error resolving template [/NavWebsite/ai/base/meta], template might not exist or might not be accessible by any of the configured Template Resolvers (template: "NavWebsite/ai/site/site.html" - line 4, col 11)        at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869)        at org.thymeleaf.engine.TemplateManager.parseStandalone(TemplateManager.java:250)

解决方法

情况1:路径地址多了一个/

在你的controller层对应的方法返回html路径及名称时,在前面多加了一个/ 。例如return “/index”,正式这个/导致报错的,解决:去掉返回前面的/即可,例如return “index” 。

情况2:未遵循Html5格式

在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错。

解决方案:在application配置文件中配置

#thymeleafspring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.htmlspring.thymeleaf.mode=LEGACYHTML5spring.thymeleaf.encoding=UTF-8spring.thymeleaf.content-type=text/htmlspring.thymeleaf.cache=false

情况3:资源文件的路径被修改

资源文件的路径被修改,如果你其他的请求都正常返回则可忽略这条。

解决:在pom.xml文件的中加入

<resource>    <directory>src/main/resources </directory></resource>

情况4:使用th:replace

在使用th:replace或者th:include的时候,多了一个/:

<th:block th:include="/base/meta.html"/>

以上这个代码在开发工具中可以正常访问到的,但到线上就不好说了。

解决方案:去掉路径最前方的"/"

<th:block th:include="base/meta.html"/>

情况5:依赖未添加

spring-boot-starter-thymeleaf未添加,个人觉得这种情况在开发工具中就应该发现了,不应该到线上环境,除非你写代码不测试。

以前有遇到一个同事,写一天代码才测试的,我只能用崇拜的小眼睛看他,我表示我是做不到。

我的问题

最后排查后发现出现的是第1种情况,放回的html路径前多了“/”,导致打包后找不到html了,但是打包前可以正常访问。

其次就是第4中情况,在使用th:replace的时候,多了一个“/”,导致部署到线上无法找到模板文件。

👉🏻👉🏻👉🏻最后大家可以收藏一下网址:

http://ai.dzwlai.com/

800+工具集合总有一个你能用到的~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定个小目标之每天刷LeetCode热题(1)

有两种解决方法&#xff1a; 第一种&#xff1a;利用哈希集合不重复的特性&#xff0c;代码展示如下 public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {Set<ListNode> listNode new HashSet<ListNode>();ListNode…

搭贝低代码平台:重塑房地产行业的工作流程与效率

随着数字化转型浪潮席卷全球&#xff0c;房地产行业也开始积极探索利用科技力量提升业务效率与服务质量。搭贝低代码平台&#xff0c;作为一款强大的数字化工具&#xff0c;正逐渐成为房地产企业优化管理流程、加速决策制定的重要推手。本文将深入探讨搭贝如何在房地产行业多个…

QT使用gsoap获取手机归属地

1-环境变量 用的win32 E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\bin\win32 2-生成代码接口 自己建一个目录&#xff0c;在此打开cmd窗口&#xff0c;生成的文件都会在这个文件夹中。 这里用的手机归宿地。 wsdl2h -o GetPhoneInfo.h -s -n Phone -t ....\typemap.…

新人学习笔记之(数据)

一、数据类型简介 1.为什么需要数据类型 &#xff08;1&#xff09;在计算机中&#xff0c;不同的数据所需占用的储存空间数不同的&#xff0c;为了便于把数据分成所需内存大小不同的数据&#xff0c;充分利用储存空间&#xff0c;于是定义了不同的数据类型。 &#xff08;2&am…

集智书童 | YOLOv10开源|清华用端到端YOLOv10在速度精度上都生吃YOLOv8和YOLOv9

本文来源公众号“集智书童”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;YOLOv10开源&#xff5c;清华用端到端YOLOv10在速度精度上都生吃YOLOv8和YOLOv9 在过去几年中&#xff0c;YOLO系列模型已成为实时目标检测领域的主导范式…

生产订单工序新增BAPI:CO_SE_PRODORD_OPR_CREATE增强

背景&#xff1a; 创建生产订单工序时需要通过BAPI来维护圈起来的字段&#xff0c;但是BAPI不包含这些字段&#xff0c;所以对BAPI进行一些增强处理。 实现过程&#xff1a; 1.拷贝标准BAPI:CO_SE_PRODORD_OPR_CREATE至ZCO_SE_PRODORD_OPR_CREATE&#xff08;最好放在新的自定…

在不同服务器之间、服务器与本地之间进行文件传输的方法

1. 使用scp进行文件传输 scp是基于SSH的文件传输工具&#xff0c;适用于不同服务器之间、服务器与本地、本地与服务器之间的文件传输。 从本地传输文件到远程服务器 scp /path/to/local/file usernameremote_host:/path/to/remote/destination 从远程服务器传输文件到本地 …

解决:java.util.concurrent.RejectedExecutionException

一 发现RejectedExecutionException错误 今天查看服务器的时候发现了一些java.util.concurrent.RejectedExecutionException错误&#xff0c;这个是由于线程池里的线程忙不过来报出的。如下图&#xff1a; 像这种 RejectedExecutionException 错误&#xff0c;表明在Java应…

QT如何将生成的exe文件打包成安装包

一、生成exe文件 1、生成exe文件 QT编译模式选择release&#xff0c;然后点击编译&#xff1a; 2、找到exe文件 在开发文件夹下找到build-xxxxxxx-Release文件夹里面找到exe文件 3、相关依赖dll文件查找 新建个空文件夹将exe文件拷贝进去&#xff1a; 然后找到如下程序…

恒创科技:Linux 服务器和 Windows 服务器哪个更好?

选择正确的服务器系统至关重要&#xff0c;目前广泛使用的选项是 Windows 服务器 和 Linux 服务器&#xff0c;它们各有优缺点。本文将比较 Linux 与 Windows 服务器&#xff0c;让我们来看看它们的主要区别&#xff0c;然后再决定哪种操作系统适合使用。 主要区别&#xff1a;…

C++工具

try catch和throw的使用 代码: #include <iostream> #include <math.h> #include <exception>class MyException : public _exception { private:/* data */ public:MyException(/* args */);~MyException(); };MyException::MyException(/* args */) { }…

HTTP方法、状态码和请求过程

一、HTTP方法概念&#xff1a; HTTP客户端发出请求&#xff0c;告知服务端需要执行不同类型的请求命令&#xff0c;这些命令被称为HTTP方法。 简说:HTTP方法是告诉服务器要做什么。 1、GET方法&#xff1a;获取资源 作用&#xff1a; ①通常用于请求服务器发送某个资源&am…

Tensors张量操作

定义Tensor 下面是一个常见的tensor&#xff0c;包含了里面的数值&#xff0c;属性&#xff0c;以及存储位置 tensor([[0.3565&#xff0c;0.1826&#xff0c;0.6719],[0.6695&#xff0c;0.5364&#xff0c;0.7057]]&#xff0c;dtypetorch.float32,devicecuda:0)Tensor的属…

Bootstrap5

Bootstrap 5 是 Bootstrap 框架的最新版本&#xff0c;这是一个广受欢迎且功能强大的开源前端开发框架&#xff0c;专为快速构建响应式和移动优先的网站而设计。Bootstrap 由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 创建&#xff0c;它以 HTML、CSS 和 JavaScript 为基…

arthas笔记

arthas使用参考arthas文档 sc -d 类名 获取到类加载器哈希 sc -d com.test.service.TestServiceImpl 得到&#xff1a; xxxxxxxxxxxxxxxxxx xxxxxxxxxxxx classLoaderHash 18b4aac2根据类加载器调用bean方法 vmtool --action getInstances -c 18b4aac2 --className org.spri…

Sass的优缺点

Sass&#xff08;Syntactically Awesome Stylesheets&#xff09;是一种流行的CSS预处理器&#xff0c;它提供了一系列强大的功能&#xff0c;使得样式表的编写和维护更加高效和灵活。以下是Sass的优点和缺点&#xff1a; 优点&#xff1a; 提高可维护性&#xff1a;Sass的模…

【uniapp】uniapp基本介绍

目录 介绍体验uni-app优势功能框架图 uni-app组成和跨端原理基本语言和开发规范 编译器运行时&#xff08;runtime&#xff09;uni-app runtime包括3部分&#xff1a;基础框架、组件、API基础框架&#xff1a;组件&#xff1a;组件的扩展&#xff1a; API&#xff1a; 逻辑层和…

vue2的方法与监听

vue2的方法 不可以使用箭头函数 <template> <div><div>{{sum2()}}</div><button click"add">add</button> </div></template><script> export default {data(){return{name:"张三",num:20,num2:3…

Android 关于pm的用法

1 定义 Package Manager (pm)&#xff1a;用于安装、卸载、查询应用程序包信息等操作的命令行工具。 2 使用 2.1 安装应用程序 pm install /path/to/apkfile.apk2.2 卸载应用程序 pm install /path/to/apkfile.apk2.3 查询应用程序信息 pm list packages [-f] [-d] [-e] …

基于形态学滤波的心电信号ECG处理(MATLAB 2021B)

数学形态学简称形态学&#xff0c;在数学意义上&#xff0c;其基于集合理论、积分几何和网格代数&#xff0c;是一门严格建立在数学基础之上的学科&#xff0c;着重用来研究图像的几何结构和形状&#xff0c;因而称之为形态学。其基本思想是用结构元素对待分析图像进行“探测”…