分析tomcatcatalinabat脚本Word格式.docx

上传人:b****4 文档编号:16447512 上传时间:2022-11-23 格式:DOCX 页数:7 大小:17.79KB
下载 相关 举报
分析tomcatcatalinabat脚本Word格式.docx_第1页
第1页 / 共7页
分析tomcatcatalinabat脚本Word格式.docx_第2页
第2页 / 共7页
分析tomcatcatalinabat脚本Word格式.docx_第3页
第3页 / 共7页
分析tomcatcatalinabat脚本Word格式.docx_第4页
第4页 / 共7页
分析tomcatcatalinabat脚本Word格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

分析tomcatcatalinabat脚本Word格式.docx

《分析tomcatcatalinabat脚本Word格式.docx》由会员分享,可在线阅读,更多相关《分析tomcatcatalinabat脚本Word格式.docx(7页珍藏版)》请在冰豆网上搜索。

分析tomcatcatalinabat脚本Word格式.docx

cd%CURRENT_DIR%

:

gotHome

echoTheCATALINA_HOMEenvironmentvariableisnotdefinedcorrectly

echoThisenvironmentvariableisneededtorunthisprogram

gotoend

okHomeremGetstandardenvironmentvariables

%CATALINA_HOME%\bin\setenv.bat"

call"

如果存在setenv.bat脚本,调用它,我的tomcat没有这个脚本remGetstandardJavaenvironmentvariables

%CATALINA_HOME%\bin\setclasspath.bat"

gotookSetclasspath查看是否存在setclasspath.bat脚本,如果存在,转到okSetclasspath位置

echoCannotfind%CATALINA_HOME%\bin\setclasspath.bat否则输出下面两行,并退出

echoThisfileisneededtorunthisprogram

okSetclasspathokSetclasspath位置setBASEDIR=%CATALINA_HOME%设定BASEDIR变量与CATALINA_HOME变量值相同

call"

%1调用setclasspath.bat脚本并加上参数

iferrorlevel1gotoend如果存在错误退出remAddonextrajarfilestoCLASSPATH设定JSSE_HOME变量,如果存在加入CLASSPATH,不存在跳过if"

%JSSE_HOME%"

gotonoJsse检查是否存在JSSE_HOME变量

setCLASSPATH=%CLASSPATH%;

%JSSE_HOME%\lib\jcert.jar;

%JSSE_HOME%\lib\jnet.jar;

%JSSE_HOME%\lib\jsse.jar如果有加入到CLASSPATH变量后面

noJsse

%CATALINA_HOME%\bin\bootstrap.jar将bootstrap.jar加入到CLASSPATH里ifnot"

%CATALINA_BASE%"

gotogotBase如果CATALINA_BASE变量不为空,跳过,转到gotBase位置

setCATALINA_BASE=%CATALINA_HOME%如果为空,将CATALINA_BASE设为CATALINA_HOME变量的值

gotBaseifnot"

%CATALINA_TMPDIR%"

gotogotTmpdirCATALINA_TMPDIR不为空,跳过,转到gotTmpdir位置

setCATALINA_TMPDIR=%CATALINA_BASE%\temp如果为空,将CATALINA_TMPDIR设为%CATALINA_BASE%\temp变量的值(即tomcat\temp)

gotTmpdirifnotexist"

%CATALINA_HOME%\bin\tomcat-juli.jar"

gotonoJuli如果不存在tomcat-juli.jar这个类,转到noJuli位置

setJAVA_OPTS=%JAVA_OPTS%-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file="

%CATALINA_BASE%\conf\logging.properties"

如果存在,将变量加入到JAVA_OPTS里

noJulisetJAVA_OPTS=%JAVA_OPTS%-Xms128m-Xmx512m-Dfile.encoding=UTF8-Duser.timezone=GMT-Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config设定JAVA_OPTS变量echoUsingCATALINA_BASE:

%CATALINA_BASE%输出CATALINA_BASE变量值

echoUsingCATALINA_HOME:

%CATALINA_HOME%输出CATALINA_HOME变量值

echoUsingCATALINA_TMPDIR:

%CATALINA_TMPDIR%输出CATALINA_TMPDIR变量值

if"

%1"

debug"

gotouse_jdk如果变量%1里存在debug,转到use_jdk位置

echoUsingJRE_HOME:

%JRE_HOME%输出JRE_HOME变量值

gotojava_dir_displayed转到java_dir_displayed

use_jdk

echoUsingJAVA_HOME:

%JAVA_HOME%输出JAVA_HOME变量值

java_dir_displayed

下面几行设定相应变量

set_EXECJAVA=%_RUNJAVA%

setMAINCLASS=org.apache.catalina.startup.Bootstrap

setACTION=start

setSECURITY_POLICY_FILE=

setDEBUG_OPTS=

setJPDA=ifnot"

jpda"

gotonoJpda

setJPDA=jpda

%JPDA_TRANSPORT%"

gotogotJpdaTransport

setJPDA_TRANSPORT=dt_shmem

gotJpdaTransport

%JPDA_ADDRESS%"

gotogotJpdaAddress

setJPDA_ADDRESS=jdbconn

gotJpdaAddress

%JPDA_SUSPEND%"

gotogotJpdaSuspend

setJPDA_SUSPEND=n

gotJpdaSuspend

%JPDA_OPTS%"

gotogotJpdaOpts

setJPDA_OPTS=-Xdebug-Xrunjdwp:

transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

gotJpdaOpts

shift

noJpdaif"

gotodoDebug如果%1为debug,转到doDebug,运行debug模式

run"

gotodoRun如果%1为run,转到doRun,运行正常模式

start"

gotodoStart如果%1为start,转到doStart,启动tomcat

stop"

gotodoStop如果%1为stop,转到doStop,关闭tocmat

version"

gotodoVersion如果%1为version,转到doVersion,显示tomcat的版本号echoUsage:

catalina(commands...)如果%1没有上述内容,输出下面几行,并结束

echocommands:

echodebugStartCatalinainadebugger

echodebug-securityDebugCatalinawithasecuritymanager

echojpdastartStartCatalinaunderJPDAdebugger

echorunStartCatalinainthecurrentwindow

echorun-securityStartinthecurrentwindowwithsecuritymanager

echostartStartCatalinainaseparatewindow

echostart-securityStartinaseparatewindowwithsecuritymanager

echostopStopCatalina

echoversionWhatversionoftomcatareyourunning?

gotoend:

doDebug

shift将%2里的值转到%1

set_EXECJAVA=%_RUNJDB%将变量_EXECJAVA设为_RUNJDB变量的值

setDEBUG_OPTS=-sourcepath"

%CATALINA_HOME%\..\..\jakarta-tomcat-catalina\catalina\src\share"

设定DEBUG_OPTS变量ifnot"

-security"

gotoexecCmd

如果%1不为-security,转到execCmd位置shift将%2里的值转到%1

echoUsingSecurityManager输出该行

setSECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy

设定SECURITY_POLICY_FILE变量的值gotoexecCmd转到execCmd位置:

doRun

gotoexecCmd如果%1不为-security,转到execCmd位置

doStart

%OS%"

Windows_NT"

gotonoTitle如果OS变量不为Windows_NT,转到noTitle

set_EXECJAVA=start"

Tomcat"

%_RUNJAVA%设定_EXECJAVA变量的值

gotogotTitle转到gotTitle位置

noTitle

set_EXECJAVA=start%_RUNJAVA%设定_EXECJAVA变量的值

gotTitle

setSECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy

doStop

setACTION=stop将ACTION的变量设为stop

setCATALINA_OPTS=设CATALINA_OPTS为空

gotoexecCmd转到execCmd位置:

doVersion显示tomcat版本号

%_EXECJAVA%-classpath"

%CATALINA_HOME%\server\lib\catalina.jar"

org.apache.catalina.util.ServerInfo执行该命令

gotoend结束该程序:

execCmd

remGetremainingunshiftedcommandlineargumentsandsavetheminthe

以下几行将命令参数存入CMD_LINE_ARGS变量中setCMD_LINE_ARGS=

setArgs

=="

gotodoneSetArgs

setCMD_LINE_ARGS=%CMD_LINE_ARGS%%1

gotosetArgs

doneSetArgsremExecuteJavawiththeapplicableproperties

%JPDA%"

gotodoJpda如果JPDA变量不为空,转到doJpda位置

%SECURITY_POLICY_FILE%"

gotodoSecurity

如果SECURITY_POLICY_FILE变量不为空,转到doSecurity位置如果都没有执行下面命令,并结束该程序

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Djava.endorsed.dirs="

%JAVA_ENDORSED_DIRS%"

-classpath"

%CLASSPATH%"

-Dcatalina.base="

-Dcatalina.home="

-Djava.io.tmpdir="

%MAINCLASS%%CMD_LINE_ARGS%%ACTION%

doSecurity执行下面命令,并结束该程序

-Djava.security.manager-Djava.security.policy=="

doJpda

如果SECURITY_POLICY_FILE变量不为空,转到doSecurityJpda位置,为空执行下面命令,并结束该程序ifnot"

gotodoSecurityJpda

%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%JPDA_OPTS%%DEBUG_OPTS%-Djava.endorsed.dirs="

doSecurityJpda执行下面命令,并结束该程序

end终结:

catalina.bat咋一看还以为是什么windows程序,可以双击运行,实际上就是调用java命令运行Bootstrap类。

从上面代码可以看出tomcat确实是一个纯java的程序,脚本最后都变成直接使用java命令执行程序,与我们普通写的java程序,没有什么不同。

只不过由于tomcat可以使用各种众多的模式(如debug,Security等),以及各种需要各种参数所以不得不使用脚本来执行。

如果你想看看你到底使用了什么命令可以在&

#8220;

gotodoSecurity&

#8221;

这行下面添加两行。

echo%_EXECJAVA%%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Djava.endorsed.dir....(下面那段,是一行但太长,折行了)

pause

第一行的命令是打印这具话,系统会将%%里面的变量提换成找到的值并输出。

第二行是暂停程序,你可以通过任意键来恢复运行。

下面是我的程序打印的结果:

start"

"

C:

\ProgramFiles\Java\jdk1.6.0_01\bin\java"

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file="

\work\tomcat\conf\logging.properties"

-Xms128m-Xmx512m-Dfile.encoding=UTF8-Duser.timezone=GMT-Djava.security.auth.login.config=C:

\work\tomcat/conf/jaas.config-Djava.endorsed.dirs="

\work\tomcat\common\endorsed"

\ProgramFiles\Java\jdk1.6.0_01\lib\tools.jar;

\work\tomcat\bin\bootstrap.jar"

\work\tomcat"

\work\tomcat\temp"

org.apache.catalina.startup.Bootstrapstartstart"

tomcat"

是另开一个窗口,窗口名是tomcat的意思,你可以去掉这部分,完将你程序打印的拷贝到命令行下,点回车,看是不是一样运行tomcat了。

Catalina.batstartup实际时就将各种系统变量加以总结,输出成这个命令。

呵呵!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1