Tomcat运行在当前窗口

本文介绍了在Windows环境下运行Tomcat应用服务器时遇到的一个常见问题——由于致命错误导致的Tomcat窗口一闪即逝现象,并提供了解决方案。通过修改startup.bat文件中的启动参数,可以让Tomcat在遇到错误时保持命令行窗口打开,便于查看错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

在 Windows 下运行 Tomcat 应用服务器,最简单的方式就是双击 startup.bat 了,或者是在命令行窗口中输入 startup.bat。

按照 Tomcat 的默认设置,最后 Tomcat 会运行在一个新建的命令行窗口中(和 startup.bat 不在同一个命令行窗口中)。这种方式有个很麻烦的问题,就是一旦 Tomcat 遇到致命错误(常见的有 -Xms 或 -Xmx 设置过大,或者 Tomcat 要使用的端口已经被其他应用程序抢占等),该新建的命令行窗口就会直接关闭。对于使用者来说,其感受就是 Tomcat 窗口一闪而过,难以看到具体错误信息是什么。

解决方法

其实解决方法也很简单,我们看看 {TOMCAT_HOME}/bin 目录下的 catalina.bat 文件,其中有这样一段内容:

echo Usage:  catalina ( commands ... )
echo commands:
echo   debug             Start Catalina in a debugger
echo   debug -security   Debug Catalina with a security manager
echo   jpda start        Start Catalina under JPDA debugger
echo   run               Start Catalina in the current window
echo   run -security     Start in the current window with security manager
echo   start             Start Catalina in a separate window
echo   start -security   Start in a separate window with security manager
echo   stop              Stop Catalina
echo   version           What version of tomcat are you running?

注意这两行:

echo   run               Start Catalina in the current window
echo   start             Start Catalina in a separate window

原来 run 就是在当前窗口中运行,而 start 就是在新窗口中运行。

然后我们再来看 startup.bat 文件,最后有一行:

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

果然是用了 start 参数。那么我们就把它改成 run :

call "%EXECUTABLE%" run %CMD_LINE_ARGS%

这样,Tomcat 就会运行在当前命令行窗口。以后再碰到任何致命错误,窗口也不会关闭了。使用者可以慢慢看咯。

分类: Tomcat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值