springboot+thymeleaf打包后运行报错

今天在打包spring boot+thymeleaf项目成jar后,运行报错,启动正常,部分链接访问也正常,但是有部分链接访问直接报错,但是在idea中运行正常,报错信息如下

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/device/deviceList], template might not exist or might not be accessible by any of the configured Template Resolvers
        at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:366) [thymeleaf-spring5-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190) [thymeleaf-spring5-3.0.15.RELEASE.jar!/:3.0.15.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1405) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1149) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1088) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:670) [tomcat-embed-core-9.0.68.jar!/:na]
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.23.jar!/:5.3.23]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) [tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-embed-websocket-9.0.68.jar!/:na]
        at org.apache.catalina.core.ApplicationFilterChain.inter
### 解决 Spring Boot 项目中 CSS 文件不生效的方法 #### 静态资源目录配置 Spring Boot 自动添加位于特定目录下的静态 Web 资源,这些目录包括 `static`、`public`、`resources` 和 `META-INF/resources`[^1]。如果创建了一个名为 `/static` 的文件夹并放置了 CSS 文件,在开发阶段通过 `spring-boot:run` 可能会正常工作;然而一旦打包成 JAR 文件,默认情况下只有 `src/main/resources` 下的内容会被包含进去[^3]。 为了确保 CSS 文件能够被正确加载: - 将所有的前端资源(如 HTML、JavaScript 或者样式表)放在项目的根路径下新建的 `static` 文件夹里; - 如果使用的是 Thymeleaf 模板引擎,则可以考虑把它们放入 `templates` 文件夹中的子文件夹来组织管理。 #### 开发环境设置 当在本地调试期间遇到跨域资源共享(CORS)问题时,可以通过启动两个服务器——一个是用于处理 API 请求的 Spring Boot 应用程序监听端口 8080,另一个是由 Webpack Dev Server 提供的服务于前端资产并且代理请求到后端服务实例上运行的应用程序监听端口 3000 来解决这个问题[^2]。 对于生产环境中部署后的样式失效情况,还需要确认应用已经成功读取到了正确的静态资源位置,并且浏览器控制台没有报错提示找不到对应的 URL 地址或者存在权限访问限制等问题。 ```yaml # application.properties or application.yml configuration example for setting up resource locations explicitly. spring.resources.static-locations=classpath:/static/,file:${HOME}/myapp-static/ ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁竹子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值