原创 

Ideal+spring boot+thymeleaf 的热部署问题处理

分类:    6217人阅读    IT小君  2016-07-24 17:28

最近写Java开始使用Idea作为开发环境,项目中使用spring boot+thymeleaf的框架组合,每次改完页面都必须重新运行项目(这速度我也是醉了),于是查看了配置文件的配置,如下:

application-dev.yml文件:

spring:
   thymeleaf:
        cache: false
        cache-period: 0
    template:
            cache: false

pom.xml:


			<dependencies>
				<dependency>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</dependency>
				<dependency>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-devtools</artifactId>
					<optional>true</optional>
				</dependency>
			</dependencies>

由上可见thymeleaf的缓存和spring-boot-devtools的热部署都有配置,于是我怀疑配置的正确性,所以Google出一下参考,进行修改:

http://www.cnblogs.com/codetime/p/5540733.html

https://juplo.de/fix-hot-reload-of-thymeleaf-templates-in-spring-bootrun/

https://github.com/spring-projects/spring-boot/issues/

http://stackoverflow.com/questions/34655114/how-do-i-enable-thymeleaf-live-reloading-in-spring-boot-1-3

http://stackoverflow.com/questions/3765998/add-a-properties-file-to-intellijs-classpath

以上参考主要提到ressource文件不在classpath不会倍热部署扫描,但是尝试后还是无效。

无奈只能百度了,在开元中国看到一个帖子spring boot thymeleaf 热部署,提到target下的文件没有更新,于是乎我修改了一下target下的文件,刷新页面果然页面同步刷新了,

所以以上罗列的配置代码是起作用的,thymeleaf确实没有缓存。


那么问题又来了,如何让更新了的资源文件,让maven 自动同步刷新到 target 下面呢?
于是去设置了Idea的Make project automatically,如下图(盗过来的),BUT 无效!



那么问题又来了,为什么Idea 的Make project automatically设置无效?

最终只找到ctrl+s和ctrl+F9的快捷键的替代方案,但是我的电脑要使用F9件还多了个坑爹的Fn,于是找到了下面一个比较完美的解决方案:

原理:通过宏录制的方式自定义快捷键

http://my.oschina.net/fdblog/blog/172229




点击广告,支持我们为你提供更好的服务

响应式咖啡饮品宣传网站模板

js+css3抽奖转盘旋转点餐代码

html5图标下拉搜索框自动匹配代码

中小型创意设计服务公司网站模板

canvas炫酷鼠标移动文字粒子特效

HTML5 Canvas竖直流动线条背景动画特效

HTML5数字产品服务公司网站模板

响应式太阳能能源公司网站模板

现代时尚家具公司网站模板

小众时尚单品在线电子商务网站模板

css鼠标跟随文字模糊特效

网页设计开发公司网站模板

jQuery右端悬浮带返回顶部特效

html5 svg夜空中星星流星动画场景特效

有机水果蔬菜HTML5网站模板

响应式时尚单品在线商城网站模板

html5 canvas进度条圆环图表统计动画特效

HTML5现代家居装潢公司网站模板

html5 canvas彩色碎片组合球形旋转动画特效

css+js实现的颜色渐变数字时钟动画特效

点击广告,支持我们为你提供更好的服务
 工具推荐 更多»
点击广告,支持我们为你提供更好的服务