隨筆-20  評論-3  文章-9  trackbacks-0
          這個問題是一個很嚴重的問題,沒有熱部署和有熱部署的開發(fā)效率是天差地別的。這個問題還受很多第三方軟件包(Struts,Spring,Hibernate)的限制。本來可以熱部署,加入了第三方的包就不可以了。所以,先說明詳細的軟件環(huán)境,和程序配置是非常必要的。

          虛擬機:java version "1.5.0_06"

          Servlet Engine:Apache Tomcat/5.0.27

          Eclipse:3.0.1

          Myeclipse:3.8.3

          應(yīng)用程序情況:純正的sertlet+jsp+javabean,數(shù)據(jù)庫連接使用JDBC-ODBC橋連接Access數(shù)據(jù)庫。沒有使用任何第三方軟件包,沒有使用Struts,Spring,Hibernate。\WebRoot\WEB-INF\lib下是空的。

          配置方法:

          ie登陸http://Tomcat所在的服務(wù)器IP:8080/ -> 點超連接“Tomcat Administration”-> 輸入用戶名密碼登陸 ->在左側(cè)的功能樹中 -> Tomcat Server -> Service(Catalina) -> Host(localhost) -> Context(/要修改的web項目) ->右側(cè)新出現(xiàn)的頁面中 ->Reloadable設(shè)置為true -> Save按鈕 -> Commit Changes。

          然后Tomcat日志顯示:

          debugging -- changes saved to conf/server.xml
          - Removing web application at context path /test
          - Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml
          - Removing web application at context path /admin
          - unregistering logger Catalina:type=Logger,path=/admin,host=localhost
          - Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\admin.xml
          - Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
          - Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
          - Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
          - Removing web application at context path /webdav
          - Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\webdav.xml
          - Removing web application at context path /test
          - Processing Context configuration file URL file:D:\Program Files\Tomcat 5.0\conf\Catalina\localhost\test.xml

          ……

          這樣,設(shè)置就生效了。

          開發(fā)時,修改.java文件后,調(diào)用這個類時日志提示:
          - Reloading this Context has started

          這是正在重新加載修改后的.class文件。

          O了。:)

          PS:

          如果沒有進行這個設(shè)置,修改.java文件后,不拋出異常。系統(tǒng)使用沒有修改的.java文件繼續(xù)運行。

          不同版本的Tomcat的配置方法是不同的。這里使用的是5.0.27

          j2ee開發(fā)插件(這里使用Myeclipse),也可能導(dǎo)致熱部署失效。因為插件必須要把編譯好的.class文件從工作空間復(fù)制到Tomcat\webapps下的項目里。才能使Tomcat得到需要熱部署的文件。

          注意:如果項目中加入了Struts,Hibernate,Spring只類的第三方軟件,可能導(dǎo)致熱部署失效。
          posted on 2008-06-12 17:43 藍山 閱讀(7824) 評論(2)  編輯  收藏

          評論:
          # re: Tomcat熱部署 2012-05-18 14:06 | 侯金鑫
          為什么一個人一個說法  回復(fù)  更多評論
            
          # re: Tomcat熱部署 2013-04-24 13:49 | ++2
          26262  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南溪县| 鹤壁市| 嘉禾县| 友谊县| 龙口市| 乌拉特中旗| 射洪县| 鲜城| 泉州市| 额济纳旗| 和田县| 静乐县| 瑞丽市| 靖江市| 南通市| 隆回县| 扎赉特旗| 胶南市| 大渡口区| 包头市| 三门县| 阳信县| 临泽县| 湘西| 富平县| 错那县| 临汾市| 清河县| 泸水县| 合江县| 沂南县| 固阳县| 米脂县| 忻城县| 枣阳市| 定兴县| 确山县| 宝鸡市| 诏安县| 炎陵县| 牙克石市|