rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
-set CURRENT_DIR=%cd%
+set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%CURRENT_DIR%
+set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
rem Get standard Java environment variables
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
-echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
echo This file is needed to run this program
goto end
:okSetclasspath
-set BASEDIR=%CATALINA_HOME%
+set "BASEDIR=%CATALINA_HOME%"
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
if errorlevel 1 goto end
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%;
+set "CLASSPATH=%CLASSPATH%;"
:emptyClasspath
-set CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar
+set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar"
if not "%CATALINA_BASE%" == "" goto gotBase
-set CATALINA_BASE=%CATALINA_HOME%
+set "CATALINA_BASE=%CATALINA_HOME%"
:gotBase
if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
-set CATALINA_TMPDIR=%CATALINA_BASE%\temp
+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
+set "CLASSPATH=%CLASSPATH%;%CATALINA_BASE%\bin\tomcat-juli.jar"
goto juliClasspathDone
:juliClasspathHome
-set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar
+set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\tomcat-juli.jar"
:juliClasspathDone
if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
rem ----- Execute The Requested Command ---------------------------------------
-echo Using CATALINA_BASE: %CATALINA_BASE%
-echo Using CATALINA_HOME: %CATALINA_HOME%
-echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
+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%
+echo Using JRE_HOME: "%JRE_HOME%"
goto java_dir_displayed
:use_jdk
-echo Using JAVA_HOME: %JAVA_HOME%
+echo Using JAVA_HOME: "%JAVA_HOME%"
:java_dir_displayed
-echo Using CLASSPATH: %CLASSPATH%
+echo Using CLASSPATH: "%CLASSPATH%"
set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
-set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doRun
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
-set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doStart
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
-set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doStop
goto end
:okHome
-set EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat
+set "EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
-echo Cannot find %EXECUTABLE%
+echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec
rem $Id$
rem ---------------------------------------------------------------------------
-set SELF=%~dp0%service.bat
+set "SELF=%~dp0%service.bat"
rem Guess CATALINA_HOME if not defined
-set CURRENT_DIR=%cd%
+set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
if exist "%CATALINA_HOME%\bin\tomcat@VERSION_MAJOR@.exe" goto okHome
rem CD to the upper dir
cd ..
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
:gotHome
if exist "%CATALINA_HOME%\bin\tomcat@VERSION_MAJOR@.exe" goto okHome
echo The tomcat.exe was not found...
goto end
:okHome
if not "%CATALINA_BASE%" == "" goto gotBase
-set CATALINA_BASE=%CATALINA_HOME%
+set "CATALINA_BASE=%CATALINA_HOME%"
:gotBase
-set EXECUTABLE=%CATALINA_HOME%\bin\tomcat@VERSION_MAJOR@.exe
+set "EXECUTABLE=%CATALINA_HOME%\bin\tomcat@VERSION_MAJOR@.exe"
rem Set default Service name
set SERVICE_NAME=Tomcat@VERSION_MAJOR@
:doInstall
rem Install the service
echo Installing the service '%SERVICE_NAME%' ...
-echo Using CATALINA_HOME: %CATALINA_HOME%
-echo Using CATALINA_BASE: %CATALINA_BASE%
-echo Using JAVA_HOME: %JAVA_HOME%
+echo Using CATALINA_HOME: "%CATALINA_HOME%"
+echo Using CATALINA_BASE: "%CATALINA_BASE%"
+echo Using JAVA_HOME: "%JAVA_HOME%"
rem Use the environment variables as an example
rem Each command line option is prefixed with PR_
set PR_DESCRIPTION=Apache Tomcat @VERSION@ Server - http://tomcat.apache.org/
-set PR_INSTALL=%EXECUTABLE%
-set PR_LOGPATH=%CATALINA_BASE%\logs
-set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_BASE%\bin\tomcat-juli.jar;%CATALINA_HOME%\bin\tomcat-juli.jar
+set "PR_INSTALL=%EXECUTABLE%"
+set "PR_LOGPATH=%CATALINA_BASE%\logs"
+set "PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_BASE%\bin\tomcat-juli.jar;%CATALINA_HOME%\bin\tomcat-juli.jar"
rem Set the server jvm from JAVA_HOME
-set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
+set "PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll"
if exist "%PR_JVM%" goto foundJvm
rem Set the client jvm from JAVA_HOME
-set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
+set "PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll"
if exist "%PR_JVM%" goto foundJvm
set PR_JVM=auto
:foundJvm
-echo Using JVM: %PR_JVM%
+echo Using JVM: "%PR_JVM%"
"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
if not errorlevel 1 goto installed
echo Failed installing '%SERVICE_NAME%' service
rem Set extra parameters
"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\endorsed" --StartMode jvm --StopMode jvm
rem More extra parameters
-set PR_LOGPATH=%CATALINA_BASE%\logs
+set "PR_LOGPATH=%CATALINA_BASE%\logs"
set PR_STDOUTPUT=auto
set PR_STDERROR=auto
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256
if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
if not "%JRE_HOME%" == "" goto okJavaHome
-set JRE_HOME=%JAVA_HOME%
+set "JRE_HOME=%JAVA_HOME%"
goto okJavaHome
:noJavaHome
rem Don't override the endorsed dir if the user has set it previously
if not "%JAVA_ENDORSED_DIRS%" == "" goto gotEndorseddir
rem Set the default -Djava.endorsed.dirs argument
-set JAVA_ENDORSED_DIRS=%BASEDIR%\endorsed
+set "JAVA_ENDORSED_DIRS=%BASEDIR%\endorsed"
:gotEndorseddir
rem Set standard command for invoking Java.
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
-set CURRENT_DIR=%cd%
+set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%CURRENT_DIR%
+set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
goto end
:okHome
-set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
-echo Cannot find %EXECUTABLE%
+echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
-set CURRENT_DIR=%cd%
+set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%CURRENT_DIR%
+set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
goto end
:okHome
-set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
-echo Cannot find %EXECUTABLE%
+echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec
rem Get standard Java environment variables
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
-echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
echo This file is needed to run this program
goto end
:okSetclasspath
-set BASEDIR=%CATALINA_HOME%
+set "BASEDIR=%CATALINA_HOME%"
call "%CATALINA_HOME%\bin\setclasspath.bat"
rem Add on extra jar files 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 noclasspath
-set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar
+set "CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar"
goto okclasspath
:noclasspath
-set CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar
+set "CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar;%BASEDIR%\lib\servlet-api.jar"
:okclasspath
rem Get remaining unshifted command line arguments and save them in the
rem ---------------------------------------------------------------------------
rem Guess CATALINA_HOME if not defined
-set CURRENT_DIR=%cd%
+set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
-set CATALINA_HOME=%CURRENT_DIR%
+set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
-set CATALINA_HOME=%cd%
+set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
goto end
:okHome
-set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
-echo Cannot find %EXECUTABLE%
+echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec