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

Tomcat7.0.42源代码运行环境搭建

程序员文章站 2022-03-07 15:25:36
...

以前看过Tomcat5的一部分源代码,当时只看了个大概的启动分析,后来看了《How Tomcat Works》这本书,讲的还行,出版的较早,所以是基于Tomcat4的代码的分析,Tomcat已经release到7了,很多后来添加的特性与新的实现方式那本书里面没有涉及。下半年业余时间的主要任务就是完成Tomcat7各个我感兴趣的点的系列文章。

 

先说下我的源码分析的环境搭建吧,用的是eclipse Juno Service Release 1,然后在tomcat官网下了tomcat7.0.42的源码,这两样准备好之后便是搭建能够运行源码的调试环境了。

1.在eclipse中新建一个java项目,项目取名tc7.0.42


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 JRE选择1.6的


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 其他设置默认


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 2.将下载的tomcat源码包解压开,并拷贝到Eclipse里新建的项目根目录下


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 注意,我这里将源码解压开后的bin目录重命名成script之后才拷贝的,因为新建的Java项目中默认编译后的文件存放目录是bin,这样做防止编译后的文件覆盖原来拷贝过去的内容。

Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat

Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 3.将项目中默认的src目录删掉,java和test作为源目录


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 
Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 4.此时会发现项目中缺少一些类,需要手动将依赖的jar包添加进来,所以新建了一个depend-lib目录


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 5.实际上缺少的这些jar包eclipse安装目录里面都有,直接拷贝过来就可以了。

在eclipse安装目录的plugins目录下,搜索"ant.jar"


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 搜索"javax.wsdl",选版本较高的那个jar包


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 搜索"jaxrpc"


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 搜索“jdt.core”选最大的那个jar包


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 6.把这些jar包加入到编译路径里


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 7.此时发现test目录下还有错误,实际上是因为test里面用到了junit的一些注解,所以需要将junit4引进来

右击项目,点击Build Path,选择Add Libraries


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 选择junit


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 下一步,junit版本选择JUnit 4


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 

自此整个项目应该可以编译了。

 

8.接下来运行项目根目录下的build.xml,执行默认的ant任务,看看项目构建的有没有问题。


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 
Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 

控制台输出"BUILD SUCCESSFUL"表示编译构建成功。


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 

9,此时刷新整个项目,会发现多出一个output目录


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 

10.为了让应用跑起来,可以检查一下output\build\conf下是否已经有配置文件,这些文件实际是从项目根路径conf目录下拷贝过来的。

 

11.找到BootStarp.java文件,Debug前加入默认的catalina home路径作为启动参数。

 

BootStarp.java文件右键选择Debug As->Debug Configurations

Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
路径设置为output下build的绝对路径。比如我自己的机器设置的值是-Dcatalina.home="E:\workspace\study\tc7.0.42\output\build"


Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
 

这样就可以在文件中加入断点Debug源码分析了。

 

  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 41.5 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 80.5 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 77.5 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 46.2 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 63.4 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 63.4 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 21.6 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 149.3 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 35.6 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 19.6 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 113.9 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 26.3 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 19.2 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 62.1 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 22.7 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 50.8 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 48.4 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 37.6 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 35.1 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 48.4 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 199.7 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 34.5 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 64.1 KB
  • Tomcat7.0.42源代码运行环境搭建
            
    
    博客分类: Tomcat7源码分析Java tomcat
  • 大小: 109.6 KB
相关标签: tomcat