將war包拷貝到tomcat webapps目錄下時,如果不存在同名工程,則啟動tomcat時會解壓war包,從而生成一同名工程。
然而,如果webapps下已經存在與war包同名的工程目錄,則即使重啟tomcat,也不會重新解壓此war包,也就是說,運行的仍是之前同名工程目錄下的代碼,而不是war包中的新代碼。
基於這種現狀,采用了以下方式:
copy target\*.war D:\java_tools\tomcat6\webapps\
cd D:\java_tools\tomcat6\webapps
for %%a in (*.war) do rd /q /s "%%~na"
call D:\java_tools\tomcat6\bin\startup.bat
其主要思路是:
將war包拷貝到webapps目錄下,遍歷所有war包,刪除掉webapps目錄下與war包同名的工程目錄,然后重啟tomcat,則會將war包重新解壓,這樣每次tomcat上部署的都會是最新的代碼。