Intellij 中的 Spring Boot 不会加载图像
Posted
技术标签:
【中文标题】Intellij 中的 Spring Boot 不会加载图像【英文标题】:Spring Boot in Intellij won't load image 【发布时间】:2022-01-15 13:47:25 【问题描述】:我刚刚开始学习 Spring 阅读“Spring In Action”,我无法将图像加载到端口 8080(tomcat 启动的地方)以外的任何地方。这通常没问题,但我必须不断重启程序才能加载对我的网页所做的任何更改。
Intellij 尝试在端口 63342 上运行我的 Web 程序,但没有加载图像,只有文本。我相信这是 Thymeleaf 的一个问题。我尝试将 tomcat 指向端口 63342,但它不会加载(端口正在使用中?)
我希望它可以让我在保存时重新加载功能工作,特别是能够使用 intellij 中的快捷方式来启动网页。
有什么建议吗?
【问题讨论】:
我认为这个答案对你有帮助***.com/questions/70029955/… 【参考方案1】:据我了解,基本上问题是您试图直接从 IDEA 打开您的.html
模板。这意味着您没有使用thymeleaf engine
来呈现它 - 您只是打开了模板本身,而不是生成的页面。如果您使用浏览器的开发工具打开此页面的源代码,您将看到您的所有表达式都未处理,这导致它试图在错误的端口上获取资源(例如 63342
而不是 8080
您的应用程序所在的位置正在运行并准备好为资源提供服务)。
因此,您不能像这样编辑您的模板。但是 Thymeleaf 确实可以选择这样做。如果您直接从 IDE 运行 Spring Boot application
(例如 Intellij IDEA Ultimate 中的配置文件),您可以将以下内容添加到您的 application.properties
:
spring.thymeleaf.cache=false
这会告诉你的 Spring 模板解析器你不想缓存你的 .html
模板,它每次都会从磁盘加载文件,所以如果你修改你的模板然后点击 IDE 的 build
按钮它应该重新-打包您的模板,当您在浏览器中刷新页面时,它将加载(并处理!)已编辑的模板。
注意!仅将其用于开发版本,将值设置为 true
用于生产环境,以防止不必要的重新读取。
请参阅Spring Boot Docs on Hot Swapping 了解更多信息。
【讨论】:
以上是关于Intellij 中的 Spring Boot 不会加载图像的主要内容,如果未能解决你的问题,请参考以下文章
Intellij 中的 Spring Boot 不会加载图像
IntelliJ中的Spring boot + thymeleaf:无法解析变量
使用Intellij中的Spring Initializr来快速构建Spring Boot工程
Spring Cloud Spring Boot mybatis分布式微服务云架构使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程
Spring Cloud Spring Boot mybatis分布式微服务云架构使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程