初始化servlet上下文时无法启动批处理脚本

时间:2014-12-16 02:12:02

标签: java windows batch-file servlets cmd

我正在尝试使用上下文侦听器启动服务器时启动批处理脚本。

如下所示:

    Runtime.getRuntime().exec( cmd /C start /B MyBat.bat );

上面一行是在我的监听器类中,这将在服务器启动时调用。

我的问题是我可以看到上面的行实际上已被调用,因为我有sysout下一行。但问题是它没有创建批处理过程。

但是我在关闭tomcat服务器时调用批处理脚本(关闭)

我可以通过jconsole tool in jdk

查看此过程

所以我试过这种方式:

    Runtime.getRuntime().exec( cmd /C start  MyBat.bat );
    // I have removed /B to make window visible.

当我这样做时,窗口出现并正常工作。

但我希望这条Runtime.getRuntime().exec( cmd /C start /B MyBat.bat );行能够正确执行。

我在Tomact 7Windows server 2003中运行此功能。

请帮忙 感谢。

1 个答案:

答案 0 :(得分:0)

试试这个。

Runtime.getRuntime().exec("MyBat.bat");

无需让cmd在Windows中执行bat文件。因为bat文件在windows中是可执行的。