| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 | 
							- @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 For supported commands call "catalina.bat help" or see the usage section
 
- rem towards the end of this file.
 
- 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   WHEN RUNNING TOMCAT AS A WINDOWS SERVICE:
 
- rem   Note that the environment variables that affect the behavior of this
 
- rem   script will have no effect at all on Windows Services. As such, any
 
- rem   local customizations made in a CATALINA_BASE/bin/setenv.bat script
 
- rem   will also have no effect on Tomcat when launched as a Windows Service.
 
- rem   The configuration that controls Windows Services is stored in the Windows
 
- rem   Registry, and is most conveniently maintained using the "tomcat8w.exe"
 
- rem   maintenance utility.
 
- 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                   This is only supported for Java <= 8.
 
- 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   JSSE_OPTS       (Optional) Java runtime options used to control the TLS
 
- rem                   implementation when JSSE is used. Default is:
 
- rem                   "-Djdk.tls.ephemeralDHKeySize=2048"
 
- rem
 
- rem   CATALINA_LOGGING_CONFIG (Optional) Override Tomcat's logging config file
 
- rem                   Example (all one line)
 
- rem                   set CATALINA_LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"
 
- rem
 
- rem   LOGGING_CONFIG  Deprecated
 
- rem                   Use CATALINA_LOGGING_CONFIG
 
- rem                   This is only used if CATALINA_LOGGING_CONFIG is not set
 
- rem                   and LOGGING_CONFIG starts with "-D..."
 
- 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 "%JSSE_OPTS%" == "" goto gotJsseOpts
 
- set "JSSE_OPTS=-Djdk.tls.ephemeralDHKeySize=2048"
 
- :gotJsseOpts
 
- set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
 
- rem Register custom URL handlers
 
- rem Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
 
- set "JAVA_OPTS=%JAVA_OPTS% -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
 
- rem Check for the deprecated LOGGING_CONFIG
 
- rem Only use it if CATALINA_LOGGING_CONFIG is not set and LOGGING_CONFIG starts with "-D..."
 
- if not "%LOGGING_CONFIG:~0,2%"=="-D" goto noLoggingDeprecation
 
- if not "%CATALINA_LOGGING_CONFIG%" == "" goto noLoggingDeprecation
 
- set "CATALINA_LOGGING_CONFIG=%LOGGING_CONFIG%"
 
- :noLoggingDeprecation
 
- if not "%CATALINA_LOGGING_CONFIG%" == "" goto noJuliConfig
 
- set CATALINA_LOGGING_CONFIG=-Dnop
 
- if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
 
- set CATALINA_LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
 
- :noJuliConfig
 
- if not "%LOGGING_MANAGER%" == "" goto noJuliManager
 
- set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
 
- :noJuliManager
 
- rem Configure JAVA 9 specific start-up parameters
 
- set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.lang=ALL-UNNAMED"
 
- set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.io=ALL-UNNAMED"
 
- set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util=ALL-UNNAMED"
 
- set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
 
- set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
 
- rem Java 9 no longer supports the java.endorsed.dirs
 
- rem system property. Only try to use it if
 
- rem JAVA_ENDORSED_DIRS was explicitly set
 
- rem or CATALINA_HOME/endorsed exists.
 
- set ENDORSED_PROP=ignore.endorsed.dirs
 
- if "%JAVA_ENDORSED_DIRS%" == "" goto noEndorsedVar
 
- set ENDORSED_PROP=java.endorsed.dirs
 
- goto doneEndorsed
 
- :noEndorsedVar
 
- if not exist "%CATALINA_HOME%\endorsed" goto doneEndorsed
 
- set ENDORSED_PROP=java.endorsed.dirs
 
- :doneEndorsed
 
- 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%"
 
- echo Using CATALINA_OPTS:   "%CATALINA_OPTS%"
 
- 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% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%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% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%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% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%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% %CATALINA_LOGGING_CONFIG% %LOGGING_MANAGER% %JAVA_OPTS% %JPDA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -D%ENDORSED_PROP%="%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
 
 
  |