在Java中执行Tomcat中startup.bat

时间:2023-03-08 21:51:08

问题:更改数据库时,需要重启Tomcat服务器,才能把更改后的数据加载到项目中。于是想每次更改数据库时,都调用Java方法,重启Tomcat


代码:
Process process = Runtime.getRuntime().exec("cmd.exe /c start E:\\tomcat\\bin\\startup.bat");
报错:
在Java中执行Tomcat中startup.bat
原因(猜想):Java程序运行的CMD并没有读取本机的环境变量,所以才会报the CATALINA_HOME environment variable is not defined correctly
解决办法:写一个a.bat文件
set CATALINA_HOME=E:\\tomcat
E:\\tomcat\\bin\\startup.bat
使用Java程序运行a.bat即可。