Java 使用批处理文件在XAMPP中部署WAR文件
我正在使用War文件在Xampp中部署我的应用程序。问题是,由于我多次更新代码,我需要替换war文件并重新启动Apache、tomcat服务。我考虑过使用批处理文件来节省时间 我将执行以下3个步骤来部署war文件 1) 停止Apache和Tomcat服务 2) 删除现有war文件及其对应的文件夹 3) 启动Apache和Tomcat服务 批处理脚本Java 使用批处理文件在XAMPP中部署WAR文件,java,batch-file,tomcat,xampp,war,Java,Batch File,Tomcat,Xampp,War,我正在使用War文件在Xampp中部署我的应用程序。问题是,由于我多次更新代码,我需要替换war文件并重新启动Apache、tomcat服务。我考虑过使用批处理文件来节省时间 我将执行以下3个步骤来部署war文件 1) 停止Apache和Tomcat服务 2) 删除现有war文件及其对应的文件夹 3) 启动Apache和Tomcat服务 批处理脚本 echo "+++Deploy source in $PWD+++" echo "+++ Shutting down tomcat .
echo "+++Deploy source in $PWD+++"
echo "+++ Shutting down tomcat ..."
call apache_stop.bat
call catalina_stop.bat
timeout 5 > NUL
echo "+++ Installing new war ..."
DEL "C:\xampp\tomcat\webappss\flsv2*"
xcopy /s C:\Users\Hp\git\flsv2-lucy\build/flsv2.war C:\xampp\tomcat\webapps
echo "+++ Starting up tomcat ..."
call apache_start.bat
call catalina_start.bat
timeout 5 > NUL
不幸的是,上面的代码不起作用。每当我从xampp文件夹运行上述脚本时,我都会在cmd提示符中收到一条错误消息
错误消息
C:\xampp>deploy_local.bat
C:\xampp>echo "+++Deploy source in $PWD+++"
"+++Deploy source in $PWD+++"
C:\xampp>echo "+++ Shutting down tomcat ..."
"+++ Shutting down tomcat ..."
C:\xampp>call apache_stop.bat
pv: No matching processes found
Mysql shutdowm ...
pv: No matching processes found
"+++ Starting up tomcat ..."
C:\xampp>
我哪里做错了???有几件事让我大吃一惊:
$PWD
是linuxstyle。在Windows批处理文件中使用%cd%
进行同样的操作@echo off
添加为脚本的第一行,以防止每行向控制台进行双重回显apache\u stop.bat
。您需要跟踪/调试该脚本以了解更多详细信息。(您可能希望在第一行中添加一个@echo on
,以获取每个输出)apache\u stop.bat
的错误。但是,“启动tomcat”的输出是存在的。删除部件是否按预期工作?文件会被删除吗del
与通配符(*
)一起使用,则可以/需要指定/Q
开关以防止出现确认提示。有关详细信息,请参见命令行上的del/?
。同样在
del
上,您可能希望使用*.
获取“任何文件名后跟任何扩展名”。当前,带有单个星号的del
命令正在查找文件名“以flsv2开头,不带扩展名”。Unix/Linux和Windows对星号通配符的处理方式不同xcopy
命令应该引用路径(如果路径包含空格,则必须引用)