| @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 Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings |
| rem are valid and consistent with the selected start-up options and set up the |
| rem endorsed directory. |
| rem --------------------------------------------------------------------------- |
| |
| rem Make sure prerequisite environment variables are set |
| |
| rem In debug mode we need a real JDK (JAVA_HOME) |
| if ""%1"" == ""debug"" goto needJavaHome |
| |
| rem Otherwise either JRE or JDK are fine |
| if not "%JRE_HOME%" == "" goto gotJreHome |
| if not "%JAVA_HOME%" == "" goto gotJavaHome |
| echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined |
| echo At least one of these environment variable is needed to run this program |
| goto exit |
| |
| :needJavaHome |
| rem Check if we have a usable JDK |
| if "%JAVA_HOME%" == "" goto noJavaHome |
| if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome |
| if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome |
| if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome |
| if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome |
| set "JRE_HOME=%JAVA_HOME%" |
| goto okJava |
| |
| :noJavaHome |
| echo The JAVA_HOME environment variable is not defined correctly. |
| echo It is needed to run this program in debug mode. |
| echo NB: JAVA_HOME should point to a JDK not a JRE. |
| goto exit |
| |
| :gotJavaHome |
| rem No JRE given, use JAVA_HOME as JRE_HOME |
| set "JRE_HOME=%JAVA_HOME%" |
| |
| :gotJreHome |
| rem Check if we have a usable JRE |
| if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome |
| if not exist "%JRE_HOME%\bin\javaw.exe" goto noJreHome |
| goto okJava |
| |
| :noJreHome |
| rem Needed at least a JRE |
| echo The JRE_HOME environment variable is not defined correctly |
| echo This environment variable is needed to run this program |
| goto exit |
| |
| :okJava |
| 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=%CATALINA_HOME%\endorsed" |
| :gotEndorseddir |
| |
| rem Don't override _RUNJAVA if the user has set it previously |
| if not "%_RUNJAVA%" == "" goto gotRunJava |
| rem Set standard command for invoking Java. |
| rem Also note the quoting as JRE_HOME may contain spaces. |
| set _RUNJAVA="%JRE_HOME%\bin\java.exe" |
| :gotRunJava |
| |
| rem Don't override _RUNJDB if the user has set it previously |
| rem Also note the quoting as JAVA_HOME may contain spaces. |
| if not "%_RUNJDB%" == "" goto gotRunJdb |
| set _RUNJDB="%JAVA_HOME%\bin\jdb.exe" |
| :gotRunJdb |
| |
| goto end |
| |
| :exit |
| exit /b 1 |
| |
| :end |
| exit /b 0 |