blob: 331d42e7f129bb158627ed40357d76d067f40bb6 [file] [log] [blame]
Hongqing Liufd5ee812014-05-10 16:32:51 +08001@echo off
2rem Licensed to the Apache Software Foundation (ASF) under one or more
3rem contributor license agreements. See the NOTICE file distributed with
4rem this work for additional information regarding copyright ownership.
5rem The ASF licenses this file to You under the Apache License, Version 2.0
6rem (the "License"); you may not use this file except in compliance with
7rem the License. You may obtain a copy of the License at
8rem
9rem http://www.apache.org/licenses/LICENSE-2.0
10rem
11rem Unless required by applicable law or agreed to in writing, software
12rem distributed under the License is distributed on an "AS IS" BASIS,
13rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14rem See the License for the specific language governing permissions and
15rem limitations under the License.
16
Hongqing Liufd5ee812014-05-10 16:32:51 +080017rem ---------------------------------------------------------------------------
18rem Wrapper script for command line tools
19rem
20rem Environment Variable Prerequisites
21rem
刘洪青6266f992017-05-15 21:21:03 +080022rem CATALINA_HOME May point at your Catalina "build" directory.
Hongqing Liufd5ee812014-05-10 16:32:51 +080023rem
刘洪青6266f992017-05-15 21:21:03 +080024rem TOOL_OPTS (Optional) Java runtime options.
Hongqing Liufd5ee812014-05-10 16:32:51 +080025rem
刘洪青6266f992017-05-15 21:21:03 +080026rem JAVA_HOME Must point at your Java Development Kit installation.
27rem Using JRE_HOME instead works as well.
Hongqing Liufd5ee812014-05-10 16:32:51 +080028rem
刘洪青6266f992017-05-15 21:21:03 +080029rem JRE_HOME Must point at your Java Runtime installation.
30rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
31rem are both set, JRE_HOME is used.
32rem
33rem JAVA_OPTS (Optional) Java runtime options.
34rem
35rem JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories
36rem containing some jars in order to allow replacement of APIs
37rem created outside of the JCP (i.e. DOM and SAX from W3C).
38rem It can also be used to update the XML parser implementation.
刘洪青a78cd382018-03-01 14:48:24 +080039rem Note that Java 9 no longer supports this feature.
刘洪青6266f992017-05-15 21:21:03 +080040rem Defaults to $CATALINA_HOME/endorsed.
Hongqing Liufd5ee812014-05-10 16:32:51 +080041rem ---------------------------------------------------------------------------
42
刘洪青6266f992017-05-15 21:21:03 +080043setlocal
44
Hongqing Liufd5ee812014-05-10 16:32:51 +080045rem Guess CATALINA_HOME if not defined
刘洪青6266f992017-05-15 21:21:03 +080046set "CURRENT_DIR=%cd%"
Hongqing Liufd5ee812014-05-10 16:32:51 +080047if not "%CATALINA_HOME%" == "" goto gotHome
刘洪青6266f992017-05-15 21:21:03 +080048set "CATALINA_HOME=%CURRENT_DIR%"
Hongqing Liufd5ee812014-05-10 16:32:51 +080049if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
刘洪青6266f992017-05-15 21:21:03 +080050cd ..
51set "CATALINA_HOME=%cd%"
52cd "%CURRENT_DIR%"
Hongqing Liufd5ee812014-05-10 16:32:51 +080053:gotHome
54if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
55echo The CATALINA_HOME environment variable is not defined correctly
56echo This environment variable is needed to run this program
57goto end
58:okHome
59
60rem Ensure that any user defined CLASSPATH variables are not used on startup,
61rem but allow them to be specified in setenv.bat, in rare case when it is needed.
62set CLASSPATH=
63
64rem Get standard environment variables
65if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
66
67rem Get standard Java environment variables
68if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
69echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
70echo This file is needed to run this program
71goto end
72:okSetclasspath
刘洪青6266f992017-05-15 21:21:03 +080073call "%CATALINA_HOME%\bin\setclasspath.bat" %1
74if errorlevel 1 goto end
Hongqing Liufd5ee812014-05-10 16:32:51 +080075
76rem Add on extra jar files to CLASSPATH
77rem Note that there are no quotes as we do not want to introduce random
78rem quotes into the CLASSPATH
刘洪青6266f992017-05-15 21:21:03 +080079if "%CLASSPATH%" == "" goto emptyClasspath
80set "CLASSPATH=%CLASSPATH%;"
81:emptyClasspath
82set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar;%CATALINA_HOME%\bin\tomcat-juli.jar;%CATALINA_HOME%\lib\servlet-api.jar"
83
84set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Hongqing Liufd5ee812014-05-10 16:32:51 +080085
刘洪青a78cd382018-03-01 14:48:24 +080086rem Java 9 no longer supports the java.endorsed.dirs
87rem system property. Only try to use it if
88rem JAVA_ENDORSED_DIRS was explicitly set
89rem or CATALINA_HOME/endorsed exists.
90set ENDORSED_PROP=ignore.endorsed.dirs
91if "%JAVA_ENDORSED_DIRS%" == "" goto noEndorsedVar
92set ENDORSED_PROP=java.endorsed.dirs
93goto doneEndorsed
94:noEndorsedVar
95if not exist "%CATALINA_HOME%\endorsed" goto doneEndorsed
96set ENDORSED_PROP=java.endorsed.dirs
97:doneEndorsed
98
Hongqing Liufd5ee812014-05-10 16:32:51 +080099rem Get remaining unshifted command line arguments and save them in the
100set CMD_LINE_ARGS=
101:setArgs
102if ""%1""=="""" goto doneSetArgs
103set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
104shift
105goto setArgs
106:doneSetArgs
107
刘洪青a78cd382018-03-01 14:48:24 +0800108%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -D%ENDORSED_PROP%="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
Hongqing Liufd5ee812014-05-10 16:32:51 +0800109
110:end