91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tomcat中如何尋找main函數

發布時間:2021-10-23 15:41:46 來源:億速云 閱讀:175 作者:柒染 欄目:大數據

tomcat中如何尋找main函數,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

每一個做java web的同學,從入行第一天起就會聽到tomcat的名字, 直到現在工作數年之后,依舊是天天離不開tomcat , 只不過是用的形式發生了變化,記得最開始用tomcat時,還要去server.xml里面改一個端口號,現在代碼中基不上看不到tomcat的影子了,但不可否認,我們的web程序依舊是用tomcat運行起來的。

記得有一次面試時,面試官問:tomcat有main函數嗎?當時我就想著,運行tomcat都是配置tomcat的目錄,然后點個運行就不用管了,哪有平時寫java程序那樣,還有有個main函數,右鍵運行/調試之類的。如下圖是在idea中配置tomcat.然后就答了一個沒有main函數,然后,,就回家等通知了,,

tomcat中如何尋找main函數

啟動tomcat

通過上面回家等通知我們可以推斷出, tomcat是有main函數的,那main函數在哪里呢?我們從啟動tomcat開始找(以下分析基于9.0.12)。啟動時是找bin目錄下的startup.bat/startup.sh,圈重點了!!下面這三個圈圈是重點

tomcat中如何尋找main函數

先點開startup.sh,感覺他好像并沒有做什么事,只是執行了catalina.sh

tomcat中如何尋找main函數

那我們就順著走進catalina.sh里面看看,這一看不得了,600多行腳本,從何看起,,當然,本文也不會從頭一行一行的去講這些,今天我們只是去尋找main函數,那我們在這里面就要去尋找java命令。

在這個腳本中,我們會看到大量的這樣的腳本:

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
 JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
 JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
 CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
 CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
 CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
 CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
 JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
fi

if [ -z "$JSSE_OPTS" ] ; then
 JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048"
fi
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"

從if then關鍵字不難猜出,這是根據系統情況,來給tomcat的運行拼接不同的參數。我們跳過這些代碼繼續往下走,如下圖所示,與startup.sh 最后的start 命令相對應,然后開始我們熟悉的java程序啟動命令:nohup java -jar xxxxx.jar > log.log &.

tomcat中如何尋找main函數

在460行可以看到,啟動的是org.apache.catalina.startup.Bootstrap類。不出意外的話這里面應該就有我們要找的Main函數,我們在idea中找到這個類,沒錯!Main函數就在這里面!!

tomcat中如何尋找main函數

看完上述內容,你們掌握tomcat中如何尋找main函數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塔城市| 乐安县| 横峰县| 娱乐| 中方县| 扶绥县| 永胜县| 红河县| 平乐县| 咸宁市| 兴城市| 安宁市| 开化县| 独山县| 淮北市| 凤翔县| 即墨市| 桐梓县| 乌兰察布市| 祥云县| 浦江县| 葫芦岛市| 奉新县| 临武县| 平武县| 定兴县| 沙河市| 怀柔区| 五家渠市| 河间市| 山东| 遂溪县| 崇左市| 平湖市| 玉龙| 西畴县| 齐河县| 英超| 鹤壁市| 曲松县| 偏关县|