Windows环境使用tomcat 启动一个新的项目时,会出现一个带tomcat图标的cmd窗口。
@echo off
if "%1" == "h" goto begin
start mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
set "CATALINA_HOME=D:\tools\apache-tomcat-8.5.41"
set "CATALINA_BASE=D:\tools\apache-tomcat-8.5.41\Domains\bizWorkflowManager"
set "JAVA_OPTS=-server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300 -Dfile.encoding=GBK -Dsun.jnu.encoding=GBK -Duser.timezone=GMT+08"
%CATALINA_HOME%/bin/startup.bat "-config %CATALINA_BASE%/conf/server.xml"
在日志输出较多时,cmd窗口刷日志较慢,会出现服务响应过慢的情况。同时误关掉窗口时会导致tomcat程序停止运行。为避免这些情况需把tomcat设置为后台运行。
看到网上说有2中方法,1种是修改tomcat中的setclasspath.bat的java运行程序,另1种是将tomcat作为服务安装到系统中(由于我的服务是单独创建了一个实例,并且公司的电脑上IT策略不允许用户创建服务,尝试创建服务的方式失败),有效的就是修改配置这个方法:修改tomcat里面的配置
- 找到tomcat下bin/setclasspath.bat文件,将其中原来的set_RUNJAVA="%JRE_HOME\bin\java"改为set_RUNJAVA="%JRE_HOME\bin\javaw" 。
- 然后重启tomcat,命令行窗口即会消失,不会出现在任务栏上,而只是在后台运行。