1. 获取源代码

方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tomcat源代码,选择最下面的source code 方式下载

方式二:利用svn获取源代码,先安装svn,再新建目录tomcat7, 接着在目录里用 svn执行以下命令  

  svn co http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_35/ ./   下载源码

2. 将源码导入eclipse

  源码下载下来以后,请参考 tomcat官网 http://tomcat.apache.org/tomcat-7.0-doc/building.html 中详细的源码导入步骤,这是最好的文档。

    tomcat的源码是利用ant来创建和管理的。先安装ant,再执行ant ide-eclipse,该命令执行成功后,会在tomcat7目录下生产.project和.classpath两个文件,即成为eclipse工程了。这样你就可以将tomcat源码导入eclipse了(通过General--》Exisiting Projects into Workspace 选择ant 编译好的tomcat源码就可)
  
 tomcat源码导入 eclipse 以后可能会遇到 jdk版本或jar包(junit 等jar包)问题(按照官网导入,一般不会缺少jar包),自行解决jdk版本冲突后
 
  导入成功后如有问题 可以把examples 文件夹删除
3. 启动tomcat
  运行tomcat:找到tomcat的启动主类org.apache.catalina.startup包下的Bootstrap类,右击->“Run AS”->"Run Configurations",在Arguments窗口中做如下设置:
    在Program arguments中写入:start
    在VM arguments中写入:-Dcatalina.home="F:\project\tomcat\apache-tomcat-6.0.18-src\output\build" 。如下图所示:

然后运行,可以看到tomcat启动成功,如下图所示:

(5)停止tomcat:跟上面步骤一样,在Program arguments中写入:stop,点击运行。即可停止tomcat。

 
 
tomcat 源码导入成功后 ,就可以通过debug 一步一步的了tomcat的运行机制
 
------------------------------
tomcat 导入eclipse 成功以后 ,启动可能遇到问题
  错误:无法加载主类 org.apache.catalina.startup.Bootstrap
解决办法:检查eclipse导入的jar包是否正确 
 

在eclipse中 :Open the Preferences dialog and then select Java->Build Path->Classpath Variables to add two new Classpath Variables:

TOMCAT_LIBS_BASE  tomcat源码中 build.properties 文件设置的 

base.path 位置
ANT_HOME the base path of Ant 1.8.1 or later

然后再启动 即可,不需要手动添加其他 jar包
 

tomcat源码导入eclipse的更多相关文章

  1. Tomcat源码导入eclipse的步骤

    Tomcat源码导入eclipse 一.下载源码 1.  进入Apache 官网:http://tomcat.apache.org/ 2.  在左边侧选择要下载的源码的版本. 3.  或者直接通过Ar ...

  2. tomcat源码导入eclipse步骤

    1. 获取源代码 方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tom ...

  3. Tomcat源码导入Eclipse测试

    想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...

  4. 将tomcat源码导入eclipse

    前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题.因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务 ...

  5. spring源码解析——spring源码导入eclipse

    一.前言     众所周知,spring的强大之处.几乎所有的企业级开发中,都使用了spring了.在日常的开发中,我们是否只知道spring的配置,以及简单的使用场景.对其实现的代码没有进行深入的了 ...

  6. 将struts源码导入eclipse

    预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤. 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/downlo ...

  7. 如何将OpenTSDB源码导入eclipse

    OpenTSDB的官网上介绍了如何将OpenTSDB源码导入eclipse,官方链接,但步骤超级繁琐,还有一个简便方法,下面以导入OpenTSDB2.0.0为例. 1. 下载OpenTSDB2.0.0 ...

  8. 将github上的项目源码导入eclipse详细教程

    将github上的项目源码导入eclipse详细教程 学习了: http://blog.csdn.net/itbiggod/article/details/78462720

  9. 将Android源码导入eclipse中的方法以及编译Android源码指定模块

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53365659 将android源码导入eclipse.androidstudio. ...

随机推荐

  1. Gulpfile.js——编译、压缩、合并js和css文件

    gulp 一个入门教程:http://www.ydcss.com/gulp API文档地址:http://www.gulpjs.com.cn/docs/api/ 我的一个Low版的gulpfile v ...

  2. python 快速入门

    根据以下几个步骤来快速了解一下python,目标是可以利用python来处理一些简易的问题或者写一些工具.   1.编写Hello world 2.学习 if,while,for 的语法 3.学习该语 ...

  3. 安装mongodb后服务启动不了的问题

    安装mongodb后,在命令行进入mongoDB安装目录执行如下: mongod --dbpath [数据存放的本地路径] 提示如下错误: ERROR: dbpath (数据存放的本地路径) does ...

  4. Debian7系统安装配置手册

    一.安装系统 系统版本:Debian7 参考资料:http://www.myhack58.com/Article/48/66/2013/39802.htm 二.配置源 vi /etc/apt/sour ...

  5. Delphi ISO 收藏!

    CodeGear RAD Studio 2007 最终版(With Update4) v11.0.2902.10471http://altd.codegear.com/download/radstud ...

  6. Oracle 表的连接方式(2)-----HASH JOIN的基本机制3

    HASH JOIN的模式 hash join有三种工作模式,分别是optimal模式,onepass模式和multipass模式,分别在v$sysstat里面有对应的统计信息: SQL> sel ...

  7. 通过获取客户端Json数据字符串,反序列化为实体对象的一段代码

    #region 保存候选人数据 /// <summary> /// 保存候选人数据 /// </summary> /// <param name="entity ...

  8. Linq中延迟查询和立即查询

    //立即查询 public static void NowExecute() { var results = new int[]{5,4,3,2,1,6,7,8,9,0 }; int i = 0; v ...

  9. 通过FTP将一个数据文件从A服务器下载到B服务器的整个过程

    现在的环境如下: 服务器A :192.168.1.104 服务器B:192.168.1.138 需要将A服务器上的某个数据文件下载到B服务器上,传输方式为:FTP 那么,要怎么去实现呢? 首先,需要添 ...

  10. java解析xml禁止校验dtd

    参考: http://shansun123.iteye.com/blog/1020425 http://blog.csdn.net/hailanzhijia/article/details/60049 ...