/lucee/tomcat8/tomcat/bin/catalina.bat
Batch | 332 lines | 300 code | 32 blank | 0 comment | 79 complexity | f732cca460eb858f3c2dfff28244f099 MD5 | raw file
Possible License(s): Apache-2.0, GPL-3.0, BSD-3-Clause-No-Nuclear-License-2014, Unlicense
- @echo off
- rem Licensed to the Apache Software Foundation (ASF) under one or more
- rem contributor license agreements. See the NOTICE file distributed with
- rem this work for additional information regarding copyright ownership.
- rem The ASF licenses this file to You under the Apache License, Version 2.0
- rem (the "License"); you may not use this file except in compliance with
- rem the License. You may obtain a copy of the License at
- rem
- rem http://www.apache.org/licenses/LICENSE-2.0
- rem
- rem Unless required by applicable law or agreed to in writing, software
- rem distributed under the License is distributed on an "AS IS" BASIS,
- rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- rem See the License for the specific language governing permissions and
- rem limitations under the License.
-
- rem ---------------------------------------------------------------------------
- rem Start/Stop Script for the CATALINA Server
- rem
- rem Environment Variable Prerequisites
- rem
- rem Do not set the variables in this script. Instead put them into a script
- rem setenv.bat in CATALINA_BASE/bin to keep your customizations separate.
- rem
- rem CATALINA_HOME May point at your Catalina "build" directory.
- rem
- rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions
- rem of a Catalina installation. If not present, resolves to
- rem the same directory that CATALINA_HOME points to.
- rem
- rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
- rem "run" or "debug" command is executed.
- rem Include here and not in JAVA_OPTS all options, that should
- rem only be used by Tomcat itself, not by the stop process,
- rem the version command etc.
- rem Examples are heap size, GC logging, JMX ports etc.
- rem
- rem CATALINA_TMPDIR (Optional) Directory path location of temporary directory
- rem the JVM should use (java.io.tmpdir). Defaults to
- rem %CATALINA_BASE%\temp.
- rem
- rem JAVA_HOME Must point at your Java Development Kit installation.
- rem Required to run the with the "debug" argument.
- rem
- rem JRE_HOME Must point at your Java Runtime installation.
- rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
- rem are both set, JRE_HOME is used.
- rem
- rem JAVA_OPTS (Optional) Java runtime options used when any command
- rem is executed.
- rem Include here and not in CATALINA_OPTS all options, that
- rem should be used by Tomcat and also by the stop process,
- rem the version command etc.
- rem Most options should go into CATALINA_OPTS.
- rem
- rem JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories
- rem containing some jars in order to allow replacement of APIs
- rem created outside of the JCP (i.e. DOM and SAX from W3C).
- rem It can also be used to update the XML parser implementation.
- rem Defaults to $CATALINA_HOME/endorsed.
- rem
- rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
- rem command is executed. The default is "dt_socket".
- rem
- rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
- rem command is executed. The default is localhost:8000.
- rem
- rem JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start"
- rem command is executed. Specifies whether JVM should suspend
- rem execution immediately after startup. Default is "n".
- rem
- rem JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
- rem command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
- rem and JPDA_SUSPEND are ignored. Thus, all required jpda
- rem options MUST be specified. The default is:
- rem
- rem -agentlib:jdwp=transport=%JPDA_TRANSPORT%,
- rem address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
- rem
- rem LOGGING_CONFIG (Optional) Override Tomcat's logging config file
- rem Example (all one line)
- rem set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"
- rem
- rem LOGGING_MANAGER (Optional) Override Tomcat's logging manager
- rem Example (all one line)
- rem set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
- rem
- rem TITLE (Optional) Specify the title of Tomcat window. The default
- rem TITLE is Tomcat if it's not specified.
- rem Example (all one line)
- rem set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%]
- rem ---------------------------------------------------------------------------
-
- setlocal
-
- rem Suppress Terminate batch job on CTRL+C
- if not ""%1"" == ""run"" goto mainEntry
- if "%TEMP%" == "" goto mainEntry
- if exist "%TEMP%\%~nx0.run" goto mainEntry
- echo Y>"%TEMP%\%~nx0.run"
- if not exist "%TEMP%\%~nx0.run" goto mainEntry
- echo Y>"%TEMP%\%~nx0.Y"
- call "%~f0" %* <"%TEMP%\%~nx0.Y"
- rem Use provided errorlevel
- set RETVAL=%ERRORLEVEL%
- del /Q "%TEMP%\%~nx0.Y" >NUL 2>&1
- exit /B %RETVAL%
- :mainEntry
- del /Q "%TEMP%\%~nx0.run" >NUL 2>&1
-
- rem Guess CATALINA_HOME if not defined
- set "CURRENT_DIR=%cd%"
- if not "%CATALINA_HOME%" == "" goto gotHome
- set "CATALINA_HOME=%CURRENT_DIR%"
- if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
- cd ..
- set "CATALINA_HOME=%cd%"
- cd "%CURRENT_DIR%"
- :gotHome
-
- if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
- echo The CATALINA_HOME environment variable is not defined correctly
- echo This environment variable is needed to run this program
- goto end
- :okHome
-
- rem Copy CATALINA_BASE from CATALINA_HOME if not defined
- if not "%CATALINA_BASE%" == "" goto gotBase
- set "CATALINA_BASE=%CATALINA_HOME%"
- :gotBase
-
- rem Ensure that neither CATALINA_HOME nor CATALINA_BASE contains a semi-colon
- rem as this is used as the separator in the classpath and Java provides no
- rem mechanism for escaping if the same character appears in the path. Check this
- rem by replacing all occurrences of ';' with '' and checking that neither
- rem CATALINA_HOME nor CATALINA_BASE have changed
- if "%CATALINA_HOME%" == "%CATALINA_HOME:;=%" goto homeNoSemicolon
- echo Using CATALINA_HOME: "%CATALINA_HOME%"
- echo Unable to start as CATALINA_HOME contains a semicolon (;) character
- goto end
- :homeNoSemicolon
-
- if "%CATALINA_BASE%" == "%CATALINA_BASE:;=%" goto baseNoSemicolon
- echo Using CATALINA_BASE: "%CATALINA_BASE%"
- echo Unable to start as CATALINA_BASE contains a semicolon (;) character
- goto end
- :baseNoSemicolon
-
- rem Ensure that any user defined CLASSPATH variables are not used on startup,
- rem but allow them to be specified in setenv.bat, in rare case when it is needed.
- set CLASSPATH=
-
- rem Get standard environment variables
- if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome
- call "%CATALINA_BASE%\bin\setenv.bat"
- goto setenvDone
- :checkSetenvHome
- if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
- :setenvDone
-
- rem Get standard Java environment variables
- if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
- echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
- echo This file is needed to run this program
- goto end
- :okSetclasspath
- call "%CATALINA_HOME%\bin\setclasspath.bat" %1
- if errorlevel 1 goto end
-
- rem Add on extra jar file to CLASSPATH
- rem Note that there are no quotes as we do not want to introduce random
- rem quotes into the CLASSPATH
- if "%CLASSPATH%" == "" goto emptyClasspath
- set "CLASSPATH=%CLASSPATH%;"
- :emptyClasspath
- set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar"
-
- if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
- set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
- :gotTmpdir
-
- rem Add tomcat-juli.jar to classpath
- rem tomcat-juli.jar can be over-ridden per instance
- if not exist "%CATALINA_BASE%\bin\tomcat-juli.jar" goto juliClasspathHome
- set "CLASSPATH=%CLASSPATH%;%CATALINA_BASE%\bin\tomcat-juli.jar"
- goto juliClasspathDone
- :juliClasspathHome
- set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar"
- :juliClasspathDone
-
- if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
- set LOGGING_CONFIG=-Dnop
- if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
- set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
- :noJuliConfig
- set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%"
-
- if not "%LOGGING_MANAGER%" == "" goto noJuliManager
- set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
- :noJuliManager
- set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"
-
- rem ----- Execute The Requested Command ---------------------------------------
-
- echo Using CATALINA_BASE: "%CATALINA_BASE%"
- echo Using CATALINA_HOME: "%CATALINA_HOME%"
- echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
- if ""%1"" == ""debug"" goto use_jdk
- echo Using JRE_HOME: "%JRE_HOME%"
- goto java_dir_displayed
- :use_jdk
- echo Using JAVA_HOME: "%JAVA_HOME%"
- :java_dir_displayed
- echo Using CLASSPATH: "%CLASSPATH%"
-
- set _EXECJAVA=%_RUNJAVA%
- set MAINCLASS=org.apache.catalina.startup.Bootstrap
- set ACTION=start
- set SECURITY_POLICY_FILE=
- set DEBUG_OPTS=
- set JPDA=
-
- if not ""%1"" == ""jpda"" goto noJpda
- set JPDA=jpda
- if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
- set JPDA_TRANSPORT=dt_socket
- :gotJpdaTransport
- if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
- set JPDA_ADDRESS=localhost:8000
- :gotJpdaAddress
- if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
- set JPDA_SUSPEND=n
- :gotJpdaSuspend
- if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
- set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
- :gotJpdaOpts
- shift
- :noJpda
-
- if ""%1"" == ""debug"" goto doDebug
- if ""%1"" == ""run"" goto doRun
- if ""%1"" == ""start"" goto doStart
- if ""%1"" == ""stop"" goto doStop
- if ""%1"" == ""configtest"" goto doConfigTest
- if ""%1"" == ""version"" goto doVersion
-
- 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 configtest Run a basic syntax check on server.xml
- echo version What version of tomcat are you running?
- goto end
-
- :doDebug
- shift
- set _EXECJAVA=%_RUNJDB%
- set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\java"
- if not ""%1"" == ""-security"" goto execCmd
- shift
- echo Using Security Manager
- set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
- goto execCmd
-
- :doRun
- shift
- if not ""%1"" == ""-security"" goto execCmd
- shift
- echo Using Security Manager
- set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
- goto execCmd
-
- :doStart
- shift
- if "%TITLE%" == "" set TITLE=Tomcat
- set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
- if not ""%1"" == ""-security"" goto execCmd
- shift
- echo Using Security Manager
- set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
- goto execCmd
-
- :doStop
- shift
- set ACTION=stop
- set CATALINA_OPTS=
- goto execCmd
-
- :doConfigTest
- shift
- set ACTION=configtest
- set CATALINA_OPTS=
- goto execCmd
-
- :doVersion
- %_EXECJAVA% -classpath "%CATALINA_HOME%\lib\catalina.jar" org.apache.catalina.util.ServerInfo
- goto end
-
-
- :execCmd
- rem Get remaining unshifted command line arguments and save them in the
- set CMD_LINE_ARGS=
- :setArgs
- if ""%1""=="""" goto doneSetArgs
- set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
- shift
- goto setArgs
- :doneSetArgs
-
- rem Execute Java with the applicable properties
- if not "%JPDA%" == "" goto doJpda
- if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
- %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
- goto end
- :doSecurity
- %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
- goto end
- :doJpda
- if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
- %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
- goto end
- :doSecurityJpda
- %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
- goto end
-
- :end