之前没用过 springboot,今天试一试,发现更改静态文件后不会自动更新,必须得重启服务器才行。
之前直接用 tomcat 和 jetty 的时候,用 war 包的形式,IDEA 的 Run/Debug Configuration 的窗口有 updata resouce 的选项,但是用 SpringBoot 就没有了,各位用 IDEA 开发的时候是怎么解决的。
1
Miy4mori 2017-07-20 17:21:03 +08:00 via iPhone
记得有个 livereload 之类的配置,写在配置文件里就行,前提是你没搞 webapps 这个幺蛾子目录。
|
2
mosliu 2017-07-20 17:22:17 +08:00
spring-boot-devtools
|
3
yuankui 2017-07-20 17:22:25 +08:00
|
4
yuankui 2017-07-20 17:22:34 +08:00
官方有文档的
|
5
mosliu 2017-07-20 17:23:03 +08:00
使用 spring-boot-devtools
然后只要 build, 自动重启 |
6
tr0uble 2017-07-20 17:25:46 +08:00
Run -> Reload changed classes
|
7
tr0uble 2017-07-20 17:30:53 +08:00
CTRL + F OR Build -> Build Project 也会提示你更新,debug 模式
|
8
tr0uble 2017-07-20 17:31:07 +08:00
CTRL + F9
|
9
zpf124 2017-07-20 18:03:16 +08:00
|
10
zpf124 2017-07-20 18:03:34 +08:00
眼瞎, 看错了
|
11
bk201 2017-07-20 18:07:26 +08:00
打开自动编译,引入 spring-boot-devtools
|
12
haozhang 2017-07-20 18:12:07 +08:00 via iPhone
扔了,用 playframework
|
13
tengj 2017-07-20 21:27:49 +08:00
spring.thymeleaf.cache=false;
把静态缓存去掉啦,或者用 spring-boot-devtools 这个热部署插件 具体可以看这篇热部署文章: http://tengj.top/2017/06/01/springboot10 Spring Boot 干货系列:(十)开发常用的热部署方式汇总 |
14
fudanglp 2017-07-20 21:32:02 +08:00
建议采用前后端分离姿势,前端采用 angular 或者 vue,用 webpack liveload,angular 可以参考 jhipster 生成的工程
|
15
yzmm 2017-07-20 21:50:43 +08:00
除了可以加 devtools,还可以直接用 idea 配置 tomcat 热部署
|
16
springmarker 2017-07-21 00:51:25 +08:00
|
17
mosliu 2017-07-21 09:30:17 +08:00
现在就在这么用,没问题
引入 spring-boot-devtools 然后 build 就会更新 要不你 idea 版本问题? |
18
Niphor 2017-07-21 09:49:31 +08:00
也试了好多 只会用#6 楼的办法
话说新版 idea 你们搜狗什么的输入法能用么? |
21
bk201 2017-07-24 10:53:41 +08:00
@springmarker 信了你的邪,这么多人可以,你不行,不如把环境以及操作发上来看看
|
22
yzmm 2017-07-27 16:37:28 +08:00
@springmarker 修改 pom.xml:
<packaging>war</packaging> 然后再部署试试,如果还不行可以。利用 servler3.0 新特性动态加载,resources 目录下新建个 web.xml 然后配置: ``` <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <listener> <listener-class>com.xxx.cloud.context.ContextLoaderListener</listener-class> </listener> </web-app> ``` ContextLoaderListener.java ``` package com.anbai.cloud.context; import com.anbai.cloud.config.CloudApplication; import org.springframework.boot.SpringApplication; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import java.util.logging.Logger; /** * Cloud 启动监听器,利用 Servlet 3.x 动态创建 Spring 的 Servlet */ public class ContextLoaderListener implements ServletContextListener { private static final Logger LOG = Logger.getLogger("info"); @Override public void contextInitialized(ServletContextEvent sce) { System.setProperty("file.encoding", "UTF-8"); SpringApplication.run(CloudApplication.class, null); } @Override public void contextDestroyed(ServletContextEvent sce) { LOG.info("Context " + sce.getServletContext() + " Destroyed..."); } } ``` |
23
jack80342 2017-10-26 22:52:27 +08:00 1
最近翻译了最新的 Spring boot 官方文档,欢迎反馈🙃,https://www.gitbook.com/book/jack80342/spring-boot/details
|