今天用Mercurial将<workspace>\Servers\Tomcat v6.0 Server at localhost-config以及
<workspace>\.metadata\.plugins\org.eclipse.wst.server.core纳入版本控制,监控了Eclipse JEE在修改Server Options的时候到底干了些啥。。默认的配置如下:
这个默认配置存在一个问题,每次保存JSP时tomcat会自动重启,this is quite annoying..解决办法是
Ctrl+Shift+R,找到server.xml
将reloadable="true"改为false,这样保存JSP时Tomcat不会自动重启
接下来看看图中几个参数的含义:
(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 files勾选 上后会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的saveSeparateContextFiles=true
同时将tmp0/conf/server.xml中关于该app的<Context>元素
移动到tmp0/conf/Catalina/localhost/appName.xml中..
修改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/