以tomcat8为例, tomcat在windows中 可以通过startup.bat 直接启动,也可以通过注册服务调用 tomcat8.exe 启动。
启动方式的不同,设置配置参数的方式不同
startup.bat:配置catalina.bat(linux下使用startup.sh启动,配置catalina.sh,本文不关注这里)
set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
tomcat8.exe:配置service.bat
--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;%JvmArgs%"
可以通过上述的Options配置启动参数
遇到的坑1:service.bat配置没有生效。可能是新增配置引用的jar包路径问题
需要新增一个配置
-javaagent:***.jar ,启动服务报错
可改为-javaagent:%CATALINA_HOME%\bin\***.jar 后服务可以启动成功。
遇到的坑2:tomcat8.exe 修改配置需要删除原服务后,重新注册才能生效
使用到的命令如下:
删除服务(tomcat8是服务名):sc delete tomcat8
cd 到对应tomcat的bin目录下注册服务:service.bat install tomcat8
停止服务:taskkill /f /fi "SERVICES eq tomcat8"
启动服务:net start tomcat8