"" docbase="filemanager
" reloadable="
true
">
"/filemanager
" docbase="
filemanager
" reloadable="
true
">
第乙個context是為了ip+埠直接指向filemanger這個專案。
path代表的是url入口,例如第乙個代表localhost:8080,第二個則代表localhost:8080/filemanger。
這裡的path+docbase的配置就表示了ip+埠或者ip+埠+/專案名稱都可以指向你的專案。
"" docbase="filemanager
" reloadable="
true
">
web-inf/web.xml
"/filemanager
" docbase="
filemanager
" reloadable="
true
">
web-inf/web.xml
但是這樣並沒有效果,web.xml變了後,tomcat並沒有reload,原因暫時不知道。
<?xml version='1.0' encoding='
utf-8
'?>
"true
">
web-inf/web.xml
$/conf/web.xml
此時,server.xml的配置如下:
"" docbase="filemanager
" reloadable="
true
">
因為如果在server.xml裡配置了context,就不會載入專案中的meta-inf中的context.xml
我在這裡的想法是通過server.xml裡這樣配置,指定ip+埠可以直接指向我的那個專案,然後再在專案的meta-inf中配置context.xml實現監控web.xml。
分析下原因,在第二部分提到了再server.xml裡直接加watchedresource無效,所以其實按照第三部分的設定,ip+埠只是指向了filemanger那個資料夾,並沒有監控web.xml的變化。(原因依然未知,為啥在那裡設定watchedresource無效?)
將filemanger資料夾下的專案拷貝到root資料夾下,server.xml配置檔案不用加額外配置,在兩個資料夾下中的meta-inf中都加入內容如第三部分的context.xml檔案,這樣就可以都監控到class檔案變化,也可以監控web.xml變化了。但是這樣的話軟體更新就必須要改兩處地方,更好的解決方案也沒有想到,因為對tomcat的配置也不是特別清楚。
這樣不重啟tomcat自動載入class檔案,有時候控制台會報錯,內容如下:
我用了dbcp來管理連線,每次都是那塊報這個錯誤,但是好像並沒有影響軟體的使用,等那些沒有關閉的執行緒都關閉後,就不會繼續報錯了。如果不想報錯的話,只能重啟tomcat,把reloadable設定成false。
不重啟 清空tomcat日誌
root localhost logs du h catalina.out 檢視檔案大小 17m catalina.out root localhost logs catalina.out重定向清空檔案 root localhost logs du h catalina.out 檢視檔案大小 0 c...
Tomcat自動重啟指令碼
我做過的tomcat自動重啟其實是讓windows系統的任務計畫程式來實現觸發的,先讓tomcat自動關閉,然後讓tomcat自動啟動,這樣就是自動重啟了。一 編寫指令碼 指令碼如下 自動關閉指令碼 tomcat stop.bat echo off echo 執行開始時間 date t time t...
關於Tomcat自動載入更新class的小技巧
大家都知道在 tomcat 的server.xml或者 tomcat conf catalina localhost 工程.xml檔案中里context標籤內 在小專案中將reloadable屬性設成true或許並沒有什麼感覺,但是在大專案中尤其是用到框架的專案那每次改動class都將會自動部署重新...