摘要:算是心血来潮吧,想看看的源码,顺便学习一下。这里就简单的做点记录如何用跟踪查看源码。当然这里也提供书籍的源码,可以下载下来对照书看。附上一张运行成功的结果图
算是心血来潮吧,想看看 Tomcat 的源码,顺便学习一下。
这里就简单的做点记录--如何用 IDEA 跟踪查看 Tomcat 源码。
同时,这里也推荐下 how-tomcat-works 这本书,虽然书中讲的是 tomcat 4 和 tomcat 5,版本比较老,但是这并不影响你去了解 Tomcat 源码以及原理,博主目前正在书本与源码结合硬啃当中。当然这里也提供 书籍的源码,可以下载下来对照书看。
针对 Tomcat 源码的获取,网上获取的方式也比较多,这里提供三种获取方式,大家可以自行选择:
1. Github
2. Tomcat SVN服务器
3. Tomcat 官网
博主在这里选择了第一种方式,下载了对应的 zip 压缩文件,并解压到我 IDEA 的工作目录当中。
启动 Tomcat 需要一些额外的 jar 包,自己又懒得手动导入,所以加入在这里加入 pom.xml 文件
这里提供下 pom.xml 文件的内容:
将 Tomcat 源码导入到 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 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
这一步就不做过多叙述了,加入 pom.xml 文件后,跟导入 maven 是类似的。
附上一张导入好的结果图:
在 Application 中添加 Bootstrap 类 并设置 vm 参数。
Main class 参数设置:
org.apache.catalina.startup.Bootstrap
VM options 参数设置,这里将 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
运行 Bootstrap 类中的 main 方法,就可以愉快的跟踪阅读代码了(博主在这一步启动的时候,控制台报了一堆错,主要都来自 test 包下一些过时的方法、以及未找到相关类,也没有什么精力去解决,索性将 test 包全部剔除后就运行成功了)。
附上一张运行成功的结果图:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/71425.html
摘要:最近在做某在线教育平台网站的开发,按师兄的建议要用来搞。现在把开发过程中的一些相关经验贴出来。事先声明,请确保和都已经安装好。对于不使用的开发者,可以直接建一个简单的项目。使用的话,请按照图进行操作。 访问GitHub下载最新源码:https://github.com/gaussic/Sp... 文章已针对IDEA 2016做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码...
摘要:刚刚接触这款神器,很多东西都在摸索中,对于像在及中创建动态工程那样简单的事在中也搞了好久,今天我就分享一下本菜鸟痛苦的学习过程,下面是我的总结,希望对大家有一点帮助。远程部署运行测试或到服务器上看一下 刚刚接触IntelliJ IDEA这款神器,很多东西都在摸索中,对于像在eclipse及myeclipse中创建动态web工程那样简单的事在idea中也搞了好久,今天我就分享一下本菜鸟痛...
摘要:前段时间分享了阅读跟踪源码的几个小技巧是基于版本的,看大家的留言都是想要版本的源码阅读技巧。这样你就能知道整个源码的总体数量,你也可以把已经阅读的做统计,慢慢实现源码阅读的攻破。熟练的运用中各个小技巧,让阅读跟踪源码变得更轻松。 前段时间分享了《阅读跟踪 Java 源码的几个小技巧》是基于 Eclipse 版本的,看大家的留言都是想要 IDEA 版本的源码阅读技巧。 所以,为了满足众多...
摘要:为了能够处理中文的请求,再配置一个,以避免请求中文出现乱码情况至此,配置完毕。一般为一些基本的,用于进行相应的页面显示,用于处理网站的请求。现在,需要配置来运行该项目。 摘要讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生)。 注:此文承接上一文:使用IntelliJ IDEA开发Sprin...
阅读 2266·2023-04-25 14:17
阅读 1479·2021-11-23 10:02
阅读 2148·2021-11-23 09:51
阅读 781·2021-10-14 09:49
阅读 3334·2021-10-11 10:57
阅读 2910·2021-09-24 09:47
阅读 3024·2021-08-24 10:00
阅读 2271·2019-08-29 18:46