From: rjung Date: Mon, 20 Jun 2011 09:50:17 +0000 (+0000) Subject: Make JRE / JDK detection on Windows work X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=877c57c26d08947dbae43b81960b72717f7b5936;p=tomcat7.0 Make JRE / JDK detection on Windows work the same way as on Unix: - if "debug" is demanded, only use JAVA_HOME and check for a JDK there - without "debug", either use JRE_HOME or JAVA_HOME with precedence on JRE_HOME git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1137565 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/bin/setclasspath.bat b/bin/setclasspath.bat index a38ae720f..6e2a8b98c 100755 --- a/bin/setclasspath.bat +++ b/bin/setclasspath.bat @@ -23,35 +23,50 @@ rem $Id$ rem --------------------------------------------------------------------------- rem Make sure prerequisite environment variables are set -if not "%JAVA_HOME%" == "" goto gotJdkHome + +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 -:gotJreHome -if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome -if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome -if not ""%1"" == ""debug"" goto okJavaHome -echo JAVA_HOME should point to a JDK in order to run in debug mode. -goto exit - -:gotJdkHome +: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 -if not "%JRE_HOME%" == "" goto okJavaHome set "JRE_HOME=%JAVA_HOME%" -goto okJavaHome +goto okJava :noJavaHome -echo The JAVA_HOME environment variable is not defined correctly +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 -echo NB: JAVA_HOME should point to a JDK not a JRE goto exit -:okJavaHome +:okJava if not "%BASEDIR%" == "" goto gotBasedir echo The BASEDIR environment variable is not defined echo This environment variable is needed to run this program