日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat 8(六)catalina.bat详解

發布時間:2023/12/31 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat 8(六)catalina.bat详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

catalina.bat的流程圖較長,先說下結果

執行startup.bat等同于catalina.bat?start,而執行catalina.bat?start等同于java?Bootstrap?start(附帶-D-classpath選項)

Tomcat就是一個java程序

--------------------------------------------------------------------------------------------------------------------------------

catalina.bat中涉及一個新的bat語法:替換變量中的某個字符

獲取系統變量:%JAVA_HOME%

獲取系統變量%JAVA_HOME%,%JAVA_HOME%中的a替換成CSDN%JAVA_HOME:a=CSDN%

創建Test.bat

@echo off echo %JAVA_HOME% echo %JAVA_HOME:a=CSDN%

執行結果:


catalina.bat中的%CATALINA_HOME:;=%,是將%CATALINA_HOME%;刪除

catalina.bat中通過"%CATALINA_HOME%"?==?"%CATALINA_HOME:;=%",檢查CATALINA_HOME中是否包含;

true-不包含;false-包含

-------------------------------------------------------------------------------------------------------------------------------

下面我們來看看catalina.bat(代碼就不貼了。。。)

@echo?off-從本條命令開始開始,關閉回顯

if?"%OS%"?==?"Windows_NT"?setlocal-判斷是否為Windows系統。是,則執行setlocal

以下這部分代碼是刪除臨時文件(如果存在的話)

if not ""%1"" == ""run"" goto mainEntry if "%TEMP%" == "" goto mainEntry if exist "%TEMP%\%~nx0.run" goto mainEntry echo Y>"%TEMP%\%~nx0.run" if not exist "%TEMP%\%~nx0.run" goto mainEntry echo Y>"%TEMP%\%~nx0.Y" call "%~f0" %* <"%TEMP%\%~nx0.Y" rem Use provided errorlevel set RETVAL=%ERRORLEVEL% del /Q "%TEMP%\%~nx0.Y" >NUL 2>&1 exit /B %RETVAL% :mainEntry del /Q "%TEMP%\%~nx0.run" >NUL 2>&1

catalina.bat的流程圖


在catalina.bat的:end下方加入一行代碼

echo %_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%

在cmd下執行startup.bat,執行結果:


紅框上方是默認輸出;紅框內是新添加的輸出

將紅框內的內容排一下版

start "Tomcat" "C:\Program Files\Java\jdk1.7.0_51\bin\java" -Djava.util.logging.config.file="D:\Program Files\apache-tomcat-8.0.3\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs="D:\Program Files\apache-tomcat-8.0.3\endorsed" -classpath "D:\Program Files\apache-tomcat-8.0.3\bin\bootstrap.jar;D:\Program Files\apache-tomcat-8.0.3\bin\tomcat-juli.jar" -Dcatalina.base="D:\Program Files\apache-tomcat-8.0.3" -Dcatalina.home="D:\Program Files\apache-tomcat-8.0.3" -Djava.io.tmpdir="D:\Program Files\apache-tomcat-8.0.3\temp" org.apache.catalina.startup.Bootstrap start

start-打開一個新的cmd窗口

"title"-cmd窗口的標題(執行catalina.bat?starttitleTomcat)

command/program-執行的命令或程序(執行catalina.bat?start時,執行的程序是java)

cmd下輸入java,可看到java的可選項-D、-classpath

org.apache.catalina.startup.Bootstrap?start-運行Bootstrap,并傳遞參數start

執行catalina.bat start,是按上圖最左邊的路線執行的

所以,startup.bat=catalina.bat?start=java?Bootstrap?start(附帶-D、-classpath選項)

Tomcat就是一個java程序!

總結

以上是生活随笔為你收集整理的Tomcat 8(六)catalina.bat详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。