blob: da0d8a365b6d4f09a4a2788d244c7e5cd71695d6 [file] [log] [blame]
刘洪青65827522016-10-19 16:10:39 +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
17rem ---------------------------------------------------------------------------
18rem Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings
19rem are valid and consistent with the selected start-up options and set up the
20rem endorsed directory.
21rem ---------------------------------------------------------------------------
22
23rem Make sure prerequisite environment variables are set
24
25rem In debug mode we need a real JDK (JAVA_HOME)
26if ""%1"" == ""debug"" goto needJavaHome
27
28rem Otherwise either JRE or JDK are fine
29if not "%JRE_HOME%" == "" goto gotJreHome
30if not "%JAVA_HOME%" == "" goto gotJavaHome
31echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
32echo At least one of these environment variable is needed to run this program
33goto exit
34
35:needJavaHome
36rem Check if we have a usable JDK
37if "%JAVA_HOME%" == "" goto noJavaHome
38if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
39if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
40if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
41if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
42set "JRE_HOME=%JAVA_HOME%"
43goto okJava
44
45:noJavaHome
46echo The JAVA_HOME environment variable is not defined correctly.
47echo It is needed to run this program in debug mode.
48echo NB: JAVA_HOME should point to a JDK not a JRE.
49goto exit
50
51:gotJavaHome
52rem No JRE given, use JAVA_HOME as JRE_HOME
53set "JRE_HOME=%JAVA_HOME%"
54
55:gotJreHome
56rem Check if we have a usable JRE
57if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome
58if not exist "%JRE_HOME%\bin\javaw.exe" goto noJreHome
59goto okJava
60
61:noJreHome
62rem Needed at least a JRE
63echo The JRE_HOME environment variable is not defined correctly
64echo This environment variable is needed to run this program
65goto exit
66
67:okJava
68rem Don't override the endorsed dir if the user has set it previously
69if not "%JAVA_ENDORSED_DIRS%" == "" goto gotEndorseddir
70rem Set the default -Djava.endorsed.dirs argument
71set "JAVA_ENDORSED_DIRS=%CATALINA_HOME%\endorsed"
72:gotEndorseddir
73
74rem Don't override _RUNJAVA if the user has set it previously
75if not "%_RUNJAVA%" == "" goto gotRunJava
76rem Set standard command for invoking Java.
77rem Also note the quoting as JRE_HOME may contain spaces.
78set _RUNJAVA="%JRE_HOME%\bin\java.exe"
79:gotRunJava
80
81rem Don't override _RUNJDB if the user has set it previously
82rem Also note the quoting as JAVA_HOME may contain spaces.
83if not "%_RUNJDB%" == "" goto gotRunJdb
84set _RUNJDB="%JAVA_HOME%\bin\jdb.exe"
85:gotRunJdb
86
87goto end
88
89:exit
90exit /b 1
91
92:end
93exit /b 0