摘要:算是心血來(lái)潮吧,想看看的源碼,順便學(xué)習(xí)一下。這里就簡(jiǎn)單的做點(diǎn)記錄如何用跟蹤查看源碼。當(dāng)然這里也提供書(shū)籍的源碼,可以下載下來(lái)對(duì)照書(shū)看。附上一張運(yùn)行成功的結(jié)果圖
算是心血來(lái)潮吧,想看看 Tomcat 的源碼,順便學(xué)習(xí)一下。
這里就簡(jiǎn)單的做點(diǎn)記錄--如何用 IDEA 跟蹤查看 Tomcat 源碼。
同時(shí),這里也推薦下 how-tomcat-works 這本書(shū),雖然書(shū)中講的是 tomcat 4 和 tomcat 5,版本比較老,但是這并不影響你去了解 Tomcat 源碼以及原理,博主目前正在書(shū)本與源碼結(jié)合硬啃當(dāng)中。當(dāng)然這里也提供 書(shū)籍的源碼,可以下載下來(lái)對(duì)照書(shū)看。
針對(duì) Tomcat 源碼的獲取,網(wǎng)上獲取的方式也比較多,這里提供三種獲取方式,大家可以自行選擇:
1. Github
2. Tomcat SVN服務(wù)器
3. Tomcat 官網(wǎng)
博主在這里選擇了第一種方式,下載了對(duì)應(yīng)的 zip 壓縮文件,并解壓到我 IDEA 的工作目錄當(dāng)中。
啟動(dòng) Tomcat 需要一些額外的 jar 包,自己又懶得手動(dòng)導(dǎo)入,所以加入在這里加入 pom.xml 文件
這里提供下 pom.xml 文件的內(nèi)容:
將 Tomcat 源碼導(dǎo)入到 IDEA 中并編譯4.0.0 org.apache.tomcat tomcat8 tomcat8 8.0 tomcat8 java java test org.apache.maven.plugins maven-compiler-plugin 3.5.1 UTF-8 1.8 1.8 org.apache.maven.plugins maven-jar-plugin 2.6 junit junit 4.11 test ant ant 1.6.5 org.easymock easymock 3.4 wsdl4j wsdl4j 1.6.2 javax.xml jaxrpc 1.1 org.eclipse.jdt.core.compiler ecj 4.6.1
這一步就不做過(guò)多敘述了,加入 pom.xml 文件后,跟導(dǎo)入 maven 是類(lèi)似的。
附上一張導(dǎo)入好的結(jié)果圖:
在 Application 中添加 Bootstrap 類(lèi) 并設(shè)置 vm 參數(shù)。
Main class 參數(shù)設(shè)置:
org.apache.catalina.startup.Bootstrap
VM options 參數(shù)設(shè)置,這里將 F:ideaworkspace_1 omcat-trunk omcat-trunk 替換成 tomcat 源碼的目錄:
-Dcatalina.home=F:ideaworkspace_1 omcat-trunk omcat-trunk -Dcatalina.base=F:ideaworkspace_1 omcat-trunk omcat-trunk -Djava.endorsed.dirs=F:ideaworkspace_1 omcat-trunk omcat-trunkendorsed -Djava.io.tmpdir=F:ideaworkspace_1 omcat-trunk omcat-trunk emp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=F:ideaworkspace_1 omcat-trunk omcat-trunkconflogging.properties
運(yùn)行 Bootstrap 類(lèi)中的 main 方法,就可以愉快的跟蹤閱讀代碼了(博主在這一步啟動(dòng)的時(shí)候,控制臺(tái)報(bào)了一堆錯(cuò),主要都來(lái)自 test 包下一些過(guò)時(shí)的方法、以及未找到相關(guān)類(lèi),也沒(méi)有什么精力去解決,索性將 test 包全部剔除后就運(yùn)行成功了)。
附上一張運(yùn)行成功的結(jié)果圖:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71425.html
摘要:最近在做某在線(xiàn)教育平臺(tái)網(wǎng)站的開(kāi)發(fā),按師兄的建議要用來(lái)搞。現(xiàn)在把開(kāi)發(fā)過(guò)程中的一些相關(guān)經(jīng)驗(yàn)貼出來(lái)。事先聲明,請(qǐng)確保和都已經(jīng)安裝好。對(duì)于不使用的開(kāi)發(fā)者,可以直接建一個(gè)簡(jiǎn)單的項(xiàng)目。使用的話(huà),請(qǐng)按照?qǐng)D進(jìn)行操作。 訪(fǎng)問(wèn)GitHub下載最新源碼:https://github.com/gaussic/Sp... 文章已針對(duì)IDEA 2016做了一定的更新,部分更新較為重要,請(qǐng)重新閱讀文章并下載最新源碼...
摘要:剛剛接觸這款神器,很多東西都在摸索中,對(duì)于像在及中創(chuàng)建動(dòng)態(tài)工程那樣簡(jiǎn)單的事在中也搞了好久,今天我就分享一下本菜鳥(niǎo)痛苦的學(xué)習(xí)過(guò)程,下面是我的總結(jié),希望對(duì)大家有一點(diǎn)幫助。遠(yuǎn)程部署運(yùn)行測(cè)試或到服務(wù)器上看一下 剛剛接觸IntelliJ IDEA這款神器,很多東西都在摸索中,對(duì)于像在eclipse及myeclipse中創(chuàng)建動(dòng)態(tài)web工程那樣簡(jiǎn)單的事在idea中也搞了好久,今天我就分享一下本菜鳥(niǎo)痛...
摘要:前段時(shí)間分享了閱讀跟蹤源碼的幾個(gè)小技巧是基于版本的,看大家的留言都是想要版本的源碼閱讀技巧。這樣你就能知道整個(gè)源碼的總體數(shù)量,你也可以把已經(jīng)閱讀的做統(tǒng)計(jì),慢慢實(shí)現(xiàn)源碼閱讀的攻破。熟練的運(yùn)用中各個(gè)小技巧,讓閱讀跟蹤源碼變得更輕松。 前段時(shí)間分享了《閱讀跟蹤 Java 源碼的幾個(gè)小技巧》是基于 Eclipse 版本的,看大家的留言都是想要 IDEA 版本的源碼閱讀技巧。 所以,為了滿(mǎn)足眾多...
摘要:為了能夠處理中文的請(qǐng)求,再配置一個(gè),以避免請(qǐng)求中文出現(xiàn)亂碼情況至此,配置完畢。一般為一些基本的,用于進(jìn)行相應(yīng)的頁(yè)面顯示,用于處理網(wǎng)站的請(qǐng)求。現(xiàn)在,需要配置來(lái)運(yùn)行該項(xiàng)目。 摘要講解如何配置SpringMVC框架xml,以及如何在Tomcat中運(yùn)行轉(zhuǎn)載請(qǐng)注明出處:Gaussic(一個(gè)致力于AI研究卻不得不兼顧項(xiàng)目的研究生)。 注:此文承接上一文:使用IntelliJ IDEA開(kāi)發(fā)Sprin...
閱讀 2445·2023-04-25 14:17
閱讀 1608·2021-11-23 10:02
閱讀 2249·2021-11-23 09:51
閱讀 959·2021-10-14 09:49
閱讀 3469·2021-10-11 10:57
閱讀 2999·2021-09-24 09:47
閱讀 3128·2021-08-24 10:00
閱讀 2382·2019-08-29 18:46