以tomcat8为例
1,安装软件需要找windows版的tomcat,最好直接从官网下载。虽然linux版的tomcat在windows上也能用,但是缺少tomcat8.exe、service.bat等,不能注册服务。Window tomcat如果不注册服务,窗口关了就不能用了。
2,你可以在startup.bat里可以设置JAVA参数,设置CATALINA_HOME、JAVA_HOME、JRE_HOME,在shutdown.bat里设置CATALINA_HOME、JAVA_HOME、JRE_HOME,但是你设置的参数只能是用startup.bat,shutdown.bat启停的时候才生效,使用tomcat8.exe或者服务启停的时候设置的参数都不生效。
3,想要tomcat8.exe启动时,设置的java参数生效,需要先使用service.bat注册服务。
执行service install tomcat8即可,注意tomcat8是服务名,但必须叫tomcat8,否则tomcat8w.exe无法启动。
在tomcat8w.exe中可以设置参数,使用tomcat8.exe启动时, tomcat8w.exe里设置的参数可以生效。
但是服务启停时java参数依然没有生效。
4,想要服务启动也能自己设置java参数并生效怎么办呢?
在service.bat里设置,注意JvmOptions要用分号分隔,不能像linux那样空格分隔,每一行后面的^表示不换行。设置完成之后要再注册一遍服务。
set CATALINA_HOME=E:\apache-tomcat-8.0.50
set JAVA_HOME=%CATALINA_HOME%\openjdk1.8
set JRE_HOME=%CATALINA_HOME%\openjdk1.8\jre
"%EXECUTABLE%" //IS//%SERVICE_NAME% ^
--Description "Apache Tomcat 8.0.50 Server - http://tomcat.apache.org/" ^
--DisplayName "%DISPLAYNAME%" ^
--Install "%EXECUTABLE%" ^
--LogPath "%CATALINA_BASE%\logs" ^
--StdOutput auto ^
--StdError auto ^
--Classpath "%CLASSPATH%" ^
--Jvm "%JVM%" ^
--StartMode jvm ^
--StopMode jvm ^
--StartPath "%CATALINA_HOME%" ^
--StopPath "%CATALINA_HOME%" ^
--StartClass org.apache.catalina.startup.Bootstrap ^
--StopClass org.apache.catalina.startup.Bootstrap ^
--StartParams start ^
--StopParams stop ^
--JvmOptions "-Dcatalina.home=%CATALINA_HOME%;-Dcatalina.base=%CATALINA_BASE%;-D%ENDORSED_PROP%=%CATALINA_HOME%\endorsed;-Djava.io.tmpdir=%CATALINA_BASE
%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties;-XX:+HeapDumpOnOutOfMemoryError;-Xmn1024m;-XX:MetaspaceSize=1024m;-XX:MaxMetaspaceSize=1024m" ^
--JvmOptions9 "--add-opens=java.base/java.lang=ALL-UNNAMED#--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" ^
--JvmMs 5120 ^
--JvmMx 5120
5,linux的参数不能直接放在windows里面用,比如$$在linux表示进程号,windows不认直接不能启动。