今天用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/