tomcat开始批量——setclasspath.bat
除了上述两批,另一个重要的脚本,那是,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"。
喜欢研究java的同学能够交个朋友。以下是本人的微信号:
版权声明:本文博客原创文章,博客,未经同意,不得转载。
tomcat开始批量——setclasspath.bat的更多相关文章
- tomcat启动批处理——setclasspath.bat
除了上面两个批处理,还有一个比较重要的脚本,即是setclasspath.bat,它主要负责寻找.检查JAVA_HOME和JRE_HOME两个变量. ************************* ...
- [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...
- [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...
- tomcat启动批处理——catalina.bat
这个批处理才是tomcat服务器启动跟关闭的核心脚本.其中包括....(各种变量),此节将详细讲解这个批处理的逻辑. 先看看第一部分脚本: ****************************** ...
- tomcat启动(一)startup.bat|catalina.bat分析
环境:windows X64位 Tomcat8.0.47 bootstrap.jar是tomcat的内核 开始位置 startup.bat 查看文本 具体的批处理脚本语法可以查看我整理的文章 http ...
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...
- myeclipse能启动tomcat但是用startup.bat无法启动
myeclipse能启动tomcat但是用startup.bat无法启动 这个问题困扰了我一天,把一天的周末时间白白花费了.各种百度,各种尝试都没办法解决.在江湖上闯,难道就只有百度一招吗? 不是,我 ...
- windows 同时启动多个Tomcat 控制台日志(startup.bat)输出到指定文件中
1 .修改startup.bat第42行 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%&q ...
- tomcat点击startup.bat出现闪退,启动不成功的解决办法
问题描述:tomcat点击startup.bat出现命令行闪退的情况 打开startup.bat,在第一行加入 SET JAVA_HOME=D:\jdk\jdk1.8.0_121[jdk路径] SET ...
随机推荐
- iOS学习——UI基础UIButton(七)
前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...
- 【免费讲座IX算法第一阶段】转专业找CS工作“打狗棒法”
个人经验CS不相干,如何收拾简历?如何获取知识,在最短的时间内找到一份工作需要?如何避免盲目刷称号,迅速制定学习计划?如何准备面试? 星期五.九算法黄蓉老师受邀嘉宾 [在线共享] 她成功转专业的六个月 ...
- Entity - 使用EF框架进行增删改查 - 模型先行
模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...
- 【Demo 0002】Android 提醒框
本章学习要点: //==: Alert Dialog void showAlertDialog() { final Builder builder = new AlertDialog.Builde ...
- Redis核心解读:集群管理工具(Redis-sentinel)
Redis核心解读:集群管理工具(Redis-sentinel) - Redis - TechTarget数据库 Redis核心解读:集群管理工具(Redis-sentinel)
- java python oracle推断字符串是否为数字的函数
java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9 ...
- HDU4869:Turn the pokers(费马小定理+高速幂)
Problem Description During summer vacation,Alice stay at home for a long time, with nothing to do. S ...
- WKE——Webkit精简的纯C接口的浏览器
以前不知道有这个东西 https://github.com/cexer/wke http://blog.csdn.net/weolar/article/details/50383491 http:// ...
- Win7和VS2013上使用Intel的TBB
源地址:http://www.th7.cn/system/win/201505/103966.shtml http://wenku.baidu.com/link?url=zH7vwmWltWF5R-9 ...
- codeforces 577
codeforces 577A 题目链接:http://codeforces.com/problemset/problem/577/A 题目大意:给出一个n*n的表格,每个表格对应的值为横坐标*纵坐标 ...