tomcat启动批处理——setclasspath.bat

简介: 除了上面两个批处理,还有一个比较重要的脚本,即是setclasspath.bat,它主要负责寻找、检查JAVA_HOME和JRE_HOME两个变量。**************************************************...

除了上面两个批处理,还有一个比较重要的脚本,即是setclasspath.bat,它主要负责寻找、检查JAVA_HOME和JRE_HOME两个变量。

********************************************************************************************

if ""%1"" ==""debug"" goto needJavaHome

if not "%JRE_HOME%" == "" gotogotJreHome

if not "%JAVA_HOME%" == "" gotogotJavaHome

goto exit

:needJavaHome

if "%JAVA_HOME%" == "" gotonoJavaHome

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

if not exist "%JAVA_HOME%\bin\javac.exe"goto noJavaHome

set "JRE_HOME=%JAVA_HOME%"

goto okJava

:noJavaHome

goto exit

:gotJavaHome

set "JRE_HOME=%JAVA_HOME%"

:gotJreHome

if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome

if not exist "%JRE_HOME%\bin\javaw.exe" goto noJreHome

goto okJava

:noJreHome

goto exit

:okJava

if not "%JAVA_ENDORSED_DIRS%" == ""goto gotEndorseddir

set"JAVA_ENDORSED_DIRS=%CATALINA_HOME%\endorsed"

:gotEndorseddir

set _RUNJAVA="%JRE_HOME%\bin\java"

set _RUNJDB="%JAVA_HOME%\bin\jdb"

goto end

:exit

exit /b 1

:end

exit /b 0

********************************************************************************************

判断是否在debug模式下, 此模式下必须要设置JAVA_HOME环境变量,即跳到needJavaHome位置。接着分别判断JRE_HOME、JAVA_HOME两个环境变量,不为空则分别跳到gotJreHome、gotJavaHome位置。needJavaHome做的事情包括检查JAVA_HOME环境变量是否为空,不为空的话它的bin目录下是否存在java.exe、javaw.exe、jdb.exe、javac.exe等文件,这些文件都是运行时必要的执行文件,最后把JAVA_HOME变量的值赋给JRE_HOME。这里有必要说明一下exit标签跟end标签的不同,exit  /b  1 即退出当前命令窗口并返回值1,exit /b  0 则是退出当前命令窗口并返回0,0表示在这段脚本运行中没有出现错误。所以如果一切运行正常的话,最终会得到JAVA_ENDORSED_DIRS="%CATALINA_HOME%\endorsed",_RUNJAVA="%JRE_HOME%\bin\java",_RUNJDB="%JAVA_HOME%\bin\jdb"。


点击订购作者《Tomcat内核设计剖析》



目录
相关文章
|
应用服务中间件
Tomcat——通过.bat批处理程序重启Tomcat
Tomcat——通过.bat批处理程序重启Tomcat
|
前端开发 Java 应用服务中间件
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
433 0
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
|
Java 应用服务中间件 容器
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
|
Java 应用服务中间件
IDEA的Web项目启动Tomcat出现404错误
IDEA的Web项目启动Tomcat出现404错误
544 0
IDEA的Web项目启动Tomcat出现404错误
|
应用服务中间件
创建tomcat的服务,删除服务,通过服务来启动项目
创建tomcat的服务,删除服务,通过服务来启动项目
181 0
创建tomcat的服务,删除服务,通过服务来启动项目
|
应用服务中间件
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题
|
应用服务中间件 Shell
mac下载tomcat 8启动后无法使用
mac下载tomcat 8启动后无法使用
mac下载tomcat 8启动后无法使用
|
应用服务中间件 Shell 程序员
启动 Tomcat 应用服务器端口 8080 被占用排查思路及解决方式
启动 Tomcat 应用服务器端口 8080 被占用排查思路及解决方式
554 0
启动 Tomcat 应用服务器端口 8080 被占用排查思路及解决方式
|
Java 应用服务中间件 开发者
Tomcat 启动和关闭| 学习笔记
快速学习 Tomcat 启动和关闭,介绍了 Tomcat 启动和关闭系统机制, 以及在实际应用过程中如何使用。
421 0
Tomcat 启动和关闭| 学习笔记
|
应用服务中间件 Android开发
tomcat启动时报错ports are invalid,默认端口不要为-1
tomcat启动时报错ports are invalid,默认端口不要为-1
121 0