欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat6源代码学习(运行源代码及调试) TomcatSVNApacheIDE设计模式

程序员文章站 2024-03-14 16:22:28
...

 

    要深入开源,了解开源( Dig into Open Source)。不但要知其然,还要知其所以然。“知其所以然”的最好办法就是下载源代码,仔细研读,揣摩并领会源代码的精义,看看这些经过诸多高手修改的源代码究竟藏有什么玄机,我们能从其中学习到哪些设计思想及设计模式,能复用其中哪些源代码,人家运用了哪些软件管 理思想把这些来自世界各地程序员的劳动汇集成一个产品,代码架构如何,软件配置管理又是怎样进行的……,等等等等,我们从源代码中学习的东西太多了。在阅读源代码时,我们要多问自己几个为什么,这样就会收获更多。

 

1.源代码的下载

 

Tomcat6的源代码SVN地址:http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_8/

 

直接新建工程,从SVN下载源代码,完成之后的目录结构如下图:

 

Tomcat6源代码学习(运行源代码及调试)
            
    
    
        TomcatSVNApacheIDE设计模式

 

 

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开始运行的,设置断点跟踪,如下图:

 

Tomcat6源代码学习(运行源代码及调试)
            
    
    
        TomcatSVNApacheIDE设计模式

 

 

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包上传到了附件中