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 ...
随机推荐
- SVM(支持向量机)(一)
(整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) SVM(Support Vector Machines)系列会循序 ...
- javascript 自己主动绑定JS callback 的方法函数
自己写的一个javascript 智能绑定callback 而且调用运行的函数.主要用于异步请求的 ajax中: <!DOCTYPE html> <html> <head ...
- 菜鸟版JAVA设计模式—从买房子看代理模式
今天学习了代理模式. 相对于适配器模式,或者说装饰器模式,代理模式理解起来更加简单. 代理这个词应该比較好理解,取代去做就是代理. 比方,我们买卖房子,那么我们会找中介,我要卖房子,可是我们没有时间去 ...
- ASP.NET - 在线编辑器(KindEditor)
效果: 项目结构: 前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...
- win32 sdk 列表视图控件绘制
////////////////////////////////////////////////////////////// LRESULT ListViewCustomDraw(HWND hwnd, ...
- Javascript selection的兼容性写法介绍
本文为大家讲解下Javascript selection的兼容性写法,感兴趣的朋友可以参考下 function getSelectedText() { //this function code is ...
- script:查看redo产生的历史信息
script:查看redo产生的历史信息 SQL> alter session set nls_date_format='dd-mon-yy'; SQL> set lines 160 p ...
- UVa 11233 - Deli Deli
题目:求所给单词的负数形式. 分析:模拟. 直接按章题意分情况求解就可以. 说明:按语法也能够(⊙_⊙). #include <iostream> #include <cstdlib ...
- Java实现敏感词过滤(转)
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- 你真的了解JAVA中与Webservice相关的规范和实现吗?
非常多人在项目中使用Webservice,仅仅是知道怎样公布Webservice,怎样调用Webservice,但真要论其来龙去脉,还真不一定清楚. 一切一切还要从我们伟大的sun公司规范说起. JA ...