Tomcat6源代码学习(运行源代码及调试) TomcatSVNApacheIDE设计模式
要深入开源,了解开源( Dig into Open Source)。不但要知其然,还要知其所以然。“知其所以然”的最好办法就是下载源代码,仔细研读,揣摩并领会源代码的精义,看看这些经过诸多高手修改的源代码究竟藏有什么玄机,我们能从其中学习到哪些设计思想及设计模式,能复用其中哪些源代码,人家运用了哪些软件管 理思想把这些来自世界各地程序员的劳动汇集成一个产品,代码架构如何,软件配置管理又是怎样进行的……,等等等等,我们从源代码中学习的东西太多了。在阅读源代码时,我们要多问自己几个为什么,这样就会收获更多。
1.源代码的下载
Tomcat6的源代码SVN地址:http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_8/
直接新建工程,从SVN下载源代码,完成之后的目录结构如下图:
2.在IDE中跟踪调试代码
为了可以在IDE中运行调试Tomcat源代码,需要下载以下几个jar:
ant.jar
commons-collections.jar
commons-dbcp.jar
commons-loggin.jar
commons-pool.jar
org.eclipse.jdt.core.jar
puretls.jar
把以上的jar添加到lib路径当中,就可以编译运行tomcat了;Tomcat是从org.apache.catalina.startup.Bootstrap开始运行的,设置断点跟踪,如下图:
3.运行时的一些异常处理
严重: Error configuring application listener of class listeners.ContextListener
java.lang.ClassNotFoundException: listeners.ContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
删除webapps下的sample即可
ClassNotFond:COM.claymoresystems.ptls
添加ptls.jar,在附件中有
为了方便大家调试,把jar包上传到了附件中