Web服务器Tomcat ---- JDK环境变量设置DOS BAT批处理脚本 陈光剑

@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.





if "%OS%" == "Windows_NT" setlocal

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 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

rem

rem

rem $Id: catalina.bat 1344732 2012-05-31 14:08:02Z kkolinko $

rem ---------------------------------------------------------------------------





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 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=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 not "%OS%" == "Windows_NT" goto noTitle

if "%TITLE%" == "" set TITLE=Tomcat

set _EXECJAVA=start "%TITLE%" %_RUNJAVA%

goto gotTitle

:noTitle

set _EXECJAVA=start %_RUNJAVA%

:gotTitle

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



你可能感兴趣的:(tomcat)