Tomcat中catalina.bat详解
来源:互联网 发布:pdf页面拼接软件 编辑:程序博客网 时间:2024/06/05 11:30
如果存在setenv.bat,call之
2. if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
如果存在setclasspath.bat,跳转到okSetclasspath
3. echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
4. goto end
找不到setclasspath.bat,结束程序
5. :okSetclasspath
6. set BASEDIR=%CATALINA_HOME%
BASEDIR环境变量是setclasspath.bat需要用到的变量,在调用之前我们提前把它设置好。
7. call "%CATALINA_HOME%\bin\setclasspath.bat"
顾名思义,setclasspath.bat就是用来设置环境变量的批处理文件,文件内容附在文章后
8. set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar
这是把CLASSPATH在原来的基础上增加了%CATALINA_HOME%\bin\bootstrap.jar。注意,此处的bootstrap.jar是Tomcat的内核,它同时用到了commons-daemon.jar和commons-logging-api.jar等jar包,但是我们并没有把它们包含在环境变量中,怎么找到的呢?其实这是通过在bootstrap.jar中的MANIFEST.MF设置的。
接下又是设置一系列环境变量:
9. if not "%CATALINA_BASE%" == "" goto gotBase
10. set CATALINA_BASE=%CATALINA_HOME%
11. :gotBase
12. if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
13. set CATALINA_TMPDIR=%CATALINA_BASE%\temp
14. :gotTmpdir
接下来打印出各个环境变量:
15. echo Using CATALINA_BASE: %CATALINA_BASE%
16. echo Using CATALINA_HOME: %CATALINA_HOME%
17. echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
18. echo Using JAVA_HOME: %JAVA_HOME%
19. set _EXECJAVA=%_RUNJAVA%
_RUNJAVA这个环境变量是在setclasspath.bat中设置的。
20. set MAINCLASS=org.apache.catalina.startup.Bootstrap
设置启动类。
21. set ACTION=start
22. if ""%1"" == ""start"" goto doStart
23. if ""%1"" == ""stop"" goto doStop
24. :doStart
25. if not "%OS%" == "Windows_NT" goto noTitle
26. set _EXECJAVA=start "Tomcat" %_RUNJAVA%
我们知道,在Windows系统的命令行中如果用start运行某个程序,就会启动一个新窗口,这里的"Tomcat"实际上就是为新窗口设置标题而已。
27. goto gotTitle
28. :noTitle
29. set _EXECJAVA=start %_RUNJAVA%
30. :gotTitle
31. goto execCmd
32. :doStop
33. set ACTION=stop
34. :execCmd
接下来的语句貌似很复杂的样子,其实就是执行_EXECJAVA这个变量所指定的内容。
35. %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
36. :end
技巧提示:
将catllina.bat文件中的位于%_RUNJAVA%前面的start "Tomcat"部分删除后,就不会在启动一个新窗口,所以不会出现了错误还来不及看的时候新窗口就自动关闭了,因此在命令行窗口中执行startup.bat命令就可以查看到Tomcat启动失败时的提示信息。
附:setclasspath.bat
if not "%JAVA_HOME%" == "" goto gotJavaHome
echo The JAVA_HOME environment variable is not defined
goto end
:gotJavaHome
if not exist "%JAVA_HOME%\bin\Java.exe" goto noJavaHome
goto okJavaHome
:noJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo end
:okJavaHome
if not "%BASEDIR%" == "" goto gotBasedir
echo The BASEDIR environment variable is not defined
goto end
:gotBasedir
if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir
echo The BASEDIR environment variable is not defined correctly
goto end
:okBasedir
set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
set CLASSPATH=%JAVA_HOME%\lib\tools.jar
set _RUNJAVA="%JRE_HOME%\bin\java"
:end
- Tomcat中catalina.bat详解
- Tomcat中catalina.bat详解
- Tomcat中catalina.bat详解
- Tomcat Catalina.bat详解
- Tomcat 8(六)catalina.bat详解
- Tomcat Catalina.bat解读
- tomcat catalina.bat解读
- Catalina.bat详解
- tomcat remote debug/catalina.bat
- 分析 Tomcat catalina.bat 脚本
- tomcat catalina.bat 脚本 解释
- 分析 Tomcat catalina.bat 脚本
- 分析 Tomcat catalina.bat 脚本
- 分析 Tomcat catalina.bat 脚本
- Tomcat catalina.bat 原理解析
- Tomcat 编码(配置catalina.bat)
- Tomcat 配置 闪退 catalina.bat start
- tomcat启动catalina.bat设置编码
- UVa227
- Object c的NSString的使用,创建,拼接和分隔,子string,substring
- Unable to set localhost. This prevents creation of a GUID. Cause was: cloud: cloud java.net.UnknownH
- 进程与线程的关系和区别 CPU调度简介
- IDEA使用maven创建web项目卡住解决办法
- Tomcat中catalina.bat详解
- shell逐行读取文件的4种方法
- UnityGUI系统之Toggle、Scrollbar
- Tesseract-OCR 字符识别---样本训练 图片识别训练
- javascript完整表单验证
- UVa1225
- 有关数组的小处理问题
- 【C++笔记】《C++ Primer Plus》学习笔记——操作符重载(一)
- UVa455