1、安装环境

工欲善其事必先利其器,在开始工作之前,先准备好环境和工具:jdk、eclipse、并配置eclipse的svn插件、ant,具体怎么配置就不说了,网上都有。

2、下载源码

打开eclipse,新建svn资源库:http://svn.apache.org/repos/asf/tomcat,然后展开这个目录,如图所示

在tc6.0.x目录下面有许多版本,任选一个,checkout到本地就行。

3、编译源码

源码下载后,工程名字上有个红色感叹号,这是因为Eclipse找不到该项目指定的库文件。请右击该项目,在弹出菜单中选择“build path---configure build path”,在libraries选项卡里面删除两个以TOMCAT_LIBS开头的两个库文件,只保留一个JRE库文件,然后点击“OK”按钮,这时Eclipse开始编译Tomcat源代码,会有编译错误,这是因为我们没有为该项目添加编译所必须的Jar包;

到tomcat工程所在目录,把build.properties.default文件复制一份,并命名为build.properties,然后打开build.properties,找到下面这行:

base.path=/usr/share/java 
将它改为: 
base.path= tomcat工程所在目录/share 
在Tomcat编译过程中,Ant会让我们下载一些必要的依赖项目,base.path目录就是用来保存这些项目文件的,share目录必须自己创建好。

找到jdt.loc,改成jdt.loc= http://mirror.calvin.edu/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip

打开cmd.exe, cd到tomcat工程所在目录,然后运行ant download命令;

把下面的jar添加到build path里面,重新编译

ant.jar (请在ant安装目录的lib子目录中拷贝) 
commons-collections-3.1.jar (从刚才Ant下载的commons-collections-3.1子目录中拷贝) 
commons-dbcp-1.2.1.jar(从刚才Ant下载的commons-dbcp-1.2.1子目录中拷贝) 
commons-logging-1.1.jar(如果您本机没有这个jar包,请从http://commons.apache.org/downloads/download_logging.cgi处下载) 
commons-pool-1.2.jar(从刚才Ant下载的commons-pool-1.2子目录中拷贝) 
org.eclipse.jdt.core_3.2.0.v_671.jar(eclipse安装目录plugins下面可以找到)

4、在Eclipse中运行Tomcat

找到Tomcat的启动主类org.apache.catalina.startup.Bootstrap,右键run,这个时候控制台显示8005端口被占用,怎么办?打开/conf/server.xml,找到<Server port="8005" shutdown="SHUTDOWN">,把8005端口改成8006,再运行,控制台又显示8009端口被占用,找到<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,把8009改成8008,在运行,没有报错,打开浏览器,输入http://localhost:8080,可以显示tomcat的主页了,说明源码可以运行起来了。

今天就到这里,下一步调试运行看一下。

获取tomcat源码的更多相关文章

  1. 探秘Tomcat(一)——Myeclipse中导入Tomcat源码

    前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...

  2. Tomcat源码分析

    前言: 本文是我阅读了TOMCAT源码后的一些心得. 主要是讲解TOMCAT的系统框架, 以及启动流程.若有错漏之处,敬请批评指教! 建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, ...

  3. tomcat源码导入eclipse步骤

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

  4. tomcat源码导入eclipse

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

  5. Tomcat源码学习记录--web服务器初步认识

    Tomcat作为开源的轻量级WEB服务器,虽然不是很适合某些大型项目,但是它开源,读其源代码可以很好的提高我们的编程功底和设计思维.Tomcat中用到了很多比较好的设计模式,其中代码风格也很值得我们去 ...

  6. 【Tomcat源码学习】-1.概述

    Tomcat是用java语言开发的一个Web服务器,最近花了差不多两周时间对Tomcat 9.0源码进行了一遍学习,由于知识储备有限,也只是理解了一个大概,下面就由我来给大家分享一下我对Tomcat的 ...

  7. Tomcat 源码分析(一)——启动与生命周期组件

    写在前面的话:读Tomcat源码也有段时间了,大领悟谈不上.一些小心得记录下来,供大家参考相护学习. 一.启动流程 Tomcat启动首先需要熟悉的是它的启动流程.和初学者第一天开始写Hello Wor ...

  8. TOMCAT源码分析(转)

    前言:   本文是我阅读了TOMCAT源码后的一些心得. 主要是讲解TOMCAT的系统框架, 以及启动流程.若有错漏之处,敬请批评指教!建议:   毕竟TOMCAT的框架还是比较复杂的, 单是从文字上 ...

  9. Tomcat源码分析——Session管理分析(下)

    前言 在<TOMCAT源码分析——SESSION管理分析(上)>一文中我介绍了Session.Session管理器,还以StandardManager为例介绍了Session管理器的初始化 ...

随机推荐

  1. Oracle 补丁体系 及 opatch 工具 介绍

    一. CPU(Critical Patch Update) 一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁.CPU是累积型的,只要安装最新发布的CPU即可,其中包括之前发 ...

  2. centos6安装GitLab全程详解和常见问题解决

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 官方只提供了Debian/Ubuntu系统下的安 ...

  3. CXF运行wsdl2java :找不到系统路径

    已经配置好cxf的环境变量出现 解决方法:一定要设置JAVA_HOME这个变量

  4. MongoDB配置成系统服务(Win)

    bin同级目录下创建文件夹data 进入data创建文件夹db和文件夹logs 进入logs创建文件mongo.log 以管理员权限打开cmd,进入mongo的bin目录下执行命令: mongod - ...

  5. application/xml 和 text/xml的区别

    application/xml and text/xml的区别 经常看到有关xml时提到"application/xml" 和 "text/xml"两种类型, ...

  6. Linux操作系统,服务器端的主流

    1.无意之间,一直使用的Windows,其实也是在Unix的基础之上开发的,什么xp,win7等都是,就是Unix的一些堆砌,其实这样说也不对.但是windows的复杂程度比Linux要复杂,因为Wi ...

  7. Determining IP information for eth0...failed 错误解决

    问题描述:虚拟机使用wget命令上网,执行service network restart后出现如下错误Determining IP information for eth0...failed解决办法: ...

  8. 使用 xhprof 进行性能分析

        xhprof 是 facebook 开发的一个PHP扩展,作用来是用来做性能剖析.其官网:http://pecl.php.net/package/xhprof   [安装] 1,下载最新的 t ...

  9. 内置锁(三)synchronized的几个要注意的对象监视器

    前言    经过前面的两篇文章的介绍,可以清楚知道,synchronized可以用于修饰一个方法 或者 代码块,线程要访问这些临界区代码,则要先获取对应的 对象监视器 ,从而使多个线程互斥访问临界区. ...

  10. linux操作系统1 Linux入门

    知识内容: 1.操作系统简介 2.Linux操作系统简介 3.Linux安装 4.Linux各大发行版本介绍 一.操作系统介绍 1.为什么需要操作系统 现代的计算机系统由处理器,主存,硬盘,键盘,鼠标 ...