我的环境:Win10,Eclipse 4.8.0 Photon,JDK 10.0.2
 
1.下载Tomcat源码
我下载的是:apache-tomcat-9.0.12-src.zip
下载好后解压到指定目录,我的目录是:D:\Tomcat\apache-tomcat-9.0.12-src
 
2.下载并安装Ant(因为Tomcat使用Ant构建)
我解压到:D:\Ant\apache-ant-1.10.5
简化教程(在此之前,默认你已安装好Java环境):
  • 配置ANT_HOME,如我的:ANT_HOME = D:\Ant\apache-ant-1.10.5
  • 将 %ANT_HOME%\bin 加入环境变量 Path
  • (可选)打开cmd,在 ANT_HOME 这个目录下执行命令: ant -f fetch.xml -Ddest=system,以获取部分功能所需的相关依赖包
 
3.编译
  • 在你解压的Tomcat目录(我的是:D:\Tomcat\apache-tomcat-9.0.12-src)中找到文件“build.properties.default”
  • 把“build.properties.default”重命名为:“build.properties”
  • 在文件“build.properties”中找到选项:base.path,默认值为:${user.home}/tomcat-build-libs,修改该值(可以把默认的内容注释,另起一行编辑),改为你希望依赖包下载后存放的位置,比如我的改为:D:/Tomcat/tomcat-9.0.12-dependedlibs
  • 打开cmd,在Tomcat解压的目录下,运行命令:ant download,若提示:BUILD FAILED,直接跳过这步(网上其他教程有这个步骤,但我的显示是这样的,继续下一步)
  • 继续在该目录下运行命令:ant,编译要花一些时间,因为可能要下载一些依赖包,如果镜像在国外,下载就会缓慢
  • 注:如果期间卡住了,或者由于偶然的网络原因导致编译失败,重新进行编译,直到成功
 
4.将Tomcat源码导入Eclipse
  • 第3步编译结束后,会在D:\Tomcat\apache-tomcat-9.0.12-src目录下生成一个output目录,用于存放编译结果;
  • 在Eclipse中新建Java Project,我命名为:Tomcat9,把Tomcat解压目录下的java、test两个源码目录导入(导入模式为:File System)到Tomcat9中,
  • 注意:分批导入;导入前,在Options选择框中注意勾选“Create top-level folder”,否则不会生成层级目录结构
  • 把java和test两个目录标记为source folder,右键选择文件夹->Build Path->Use as Source Folder,标记为source folder后两个代码目录都出现了错误,这是因为缺少依赖包,请看第5步
 
5.导入依赖包
  • ant.jar,在你安装的ANT目录:%ANT_HOME%/lib下,如我的在:D:\Ant\apache-ant-1.10.5\lib
  • jaxrpc.jar,在Eclipse的plugin目录下,如我的在:C:\Users\lichaoxi\.p2\pool\plugins\javax.xml.rpc_1.1.0.v201209140446\lib
  • junit.jar,test包中需要,可以使用Eclipse自带的
  • wsdl4j-1.5.1.jar,去网上下载,我下载的是:wsdl4j-1.6.1.jar
  • org.eclipse.jdt.core_3.3.1.v_780_R33x.jar,版本视情况而定,我下载是:org.eclipse.jdt.core-3.7.1
  • 导入后test包可能还会有部分文件报错,直接删了就好
  • 下载网址:http://www.java2s.com/Code/Jar/CatalogJar.htm
 
6.参考网址

Eclipse 导入 Tomcat 源码的更多相关文章

  1. eclipse导入tomcat源码

    我的开发环境:windows7  64位 一.官网下载tomcat源码.在此奉上一站地址:http://archive.apache.org/dist/tomcat/: 二.编译源码生成.jar文件: ...

  2. Eclipse导入Tomcat源码(转)

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

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

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

  4. Eclipse导入Zookeeper源码Version2017.11.3

    将Zookeeper源码导入Eclipse, Zookeeper源码需要使用ant构建后才能导入Eclipse, 和Solr的源码一样也是使用ant构建的, 大部分可以参考Eclipse导入Solr源 ...

  5. Eclipse导入Hadoop源码项目及编写Hadoop程序

    一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...

  6. eclipse导入Java源码

    eclipse导入Java源码 下载源码包(一般jdk都自带了, 我的没有) src.zip eclipse -> window -> preferences -> JAVA -&g ...

  7. Hadoop1.x目录结构及Eclipse导入Hadoop源码项目

    这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...

  8. Eclipse导入Elasticsearch源码

    Eclipse导入Elasticsearch源码的步骤, 基于Elasticsearch 6.2.2的源码版本. 1.安装JDK1.9 Elasticsearch 6.2.2需要JDK1.9编译,否则 ...

  9. eclipse 导入tomcat7源码

    导入tomcat的源码其实说简单也不简单,说不简单也简单,主要还是环境问题,中间花费了我很多时间,网上找了很多都没什么用,参考一些文章,然后自己慢慢摸索出来的. 环境:(1)jdk:jdk1.6.0_ ...

随机推荐

  1. Feign代理必须加value否则启动失败

    Feign代理必须加value否则启动失败 @RequestParam(value=”xxx”)

  2. 一个包含arctan与arctanh的积分

    \[\Large\int_0^1\frac{\arctan x \,\operatorname{arctanh} x\, \ln x}{x}\mathrm{d}x=\frac{\pi^2}{16}\m ...

  3. RTT之时钟管理

    时钟节拍 :等于 1/T_TICK_PER_SECOND 秒,用 SysTick_Handler实现,在每次加1时都会检查当前线程的时间片是否用完,以及是否有定时器超时.定时值应该为该值的整数倍.非整 ...

  4. 【PAT甲级】1039 Course List for Student (25 分)(vector嵌套于map,段错误原因未知)

    题意: 输入两个正整数N和K(N<=40000,K<=2500),分别为学生和课程的数量.接下来输入K门课的信息,先输入每门课的ID再输入有多少学生选了这门课,接下来输入学生们的ID.最后 ...

  5. 基础总结篇之八:创建及调用自己的ContentProvider

    转自:http://blog.csdn.net/wellsoho/article/details/49494141 若不能坚持到底,即使是朽木也不能折断:只要坚持不停地用刀刻,就算是金属玉石也可以雕出 ...

  6. 嵌入式实时程序设计中C/C++代码的优化

    1 引言 计算机技术和信息技术的高速发展的今天,计算机和计算机技术大量应用在人们的日常生活中,嵌入式计算机也得到了广泛的应用.嵌入式计算机是指完成一种或多种特定功能的计算机系统,是软硬件的紧密结合体. ...

  7. LinkStack(链栈)

    链栈即链式栈,也就是说我们不用再考虑空间的大小,可随心所欲的进行数据的插入/删除了.和顺序栈一样,仍然要保持其stack的特性,只在一端进行插入和删除,后进先出. (2018-02-14 代码更新) ...

  8. rem布局,在用户调整手机字体大小/用户调整浏览器字体大小后,布局错乱问题

    一.用户调整浏览器字体大小,影响的是从浏览器打开的web页. 浏览器设置字体大小,影响浏览器打开的页面.通过js可控制用户修改字体大小,使页面不受影响. (function(doc, win) { / ...

  9. Java基础知识笔记第二章:基本数据类型与数组

    标识符和关键字 标识符: 1:字母,数字,下划线,美元符号 2.不能以数字开头 3.标识符不能是:true   false   null(尽管true   false   null不是java的关键字 ...

  10. pycharm自定义代码段

    PyCharm使用技巧:Live Templates(快速输入自定义代码片段):链接