将war包拷贝到tomcat webapps目录下时,如果不存在同名工程,则启动tomcat时会解压war包,从而生成一同名工程。
然而,如果webapps下已经存在与war包同名的工程目录,则即使重启tomcat,也不会重新解压此war包,也就是说,运行的仍是之前同名工程目录下的代码,而不是war包中的新代码。
基于这种现状,采用了以下方式:
copy target*.war D:java_tools omcat6webapps
cd D:java_tools omcat6webapps
for %%a in (*.war) do rd /q /s "%%~na"
call D:java_tools omcat6instartup.bat
其主要思路是:
将war包拷贝到webapps目录下,遍历所有war包,删除掉webapps目录下与war包同名的工程目录,然后重启tomcat,则会将war包重新解压,这样每次tomcat上部署的都会是最新的代码。