今天用Mercurial将<workspace>\Servers\Tomcat v6.0 Server at localhost-config以及
<workspace>\.metadata\.plugins\org.eclipse.wst.server.core归入版本控制,监控了Eclipse JEE在修改Server Options的时候到底干了些啥。。java
默认的配置以下:web
这个默认配置存在一个问题,每次保存JSP时tomcat会自动重启,this is quite annoying..解决办法是tomcat
Ctrl+Shift+R,找到server.xmlapp
将reloadable="true"改成false,这样保存JSP时Tomcat不会自动重启eclipse
接下来看看图中几个参数的含义:webapp
(1)serve modules without publishing:
让tomcat直接使用WebContent下的东西
省去publish到<workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
勾上它会将tmp0\wtpwebapps下相关的resources删除,
同时会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的serveModulesWithoutPublish=true
以及tmp0/conf/server.xml中的<Context>配置
(2)publish module contexts to separate XML filesjsp
勾选 上后会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的saveSeparateContextFiles=trueui
同时将tmp0/conf/server.xml中关于该app的<Context>元素this
移动到tmp0/conf/Catalina/localhost/appName.xml中..spa
修改JSP后当即生效
在Servers视图中双击tomcat
勾选上Automatically publish when resources change
这样修改JSP后tomcat能热加载。。(这个选项对java文件无效,关了之后每次也能热加载)
注意:
hot reload只在debug模式下有效.
参考:http://stackoverflow.com/questions/921684/how-to-tell-eclipse-3-4-wtp-to-not-restart-tomcat-on-jsp-save
另见: https://www.mkyong.com/eclipse/how-to-configure-hot-deploy-in-eclipse/