旧项目开发过程中,经常要改动Java/JSP 文件,但又不想频繁重新启动服务器。这时候有两种方式 :热部署 和 热加载
1.热加载
在server.xml -> context 属性中 设置 reloadable="true"
<Context docBase="xxx" path="/xxx" reloadable="true"/>
2. 热部署
在server.xml -> context 属性中 设置 autoDeploy="true"
<Context docBase="xxx" path="/xxx" autoDeploy="true"/>
或者设置:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="xxx" path="/xxx"/>
</Host>
3.区别:
热加载:服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。
热部署: 整个项目从新部署,包括你从新打上.war 文件。 会清空session ,释放内存。项目打包的时候用的多。
开发过程中,不想频繁重启,也可以通过开发工具进行设置(对springboot之外的项目) :
1)Eclipse
2)idea