我的环境: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. Cisco AP-Regulatory Domain

    这一note主要解释Regulatory Domain是什么.以较新的思科AP的型号举例,思科AP的PID一般都是按照如下的命名: AIR-AP3802I-H-K9C 按照自己的理解: AIR:其中的 ...

  2. spring boot 配置时区差别

    前提 数据库时区:GMT+8 show variables like '%time_zone%'; 本机电脑时区: 情景一.不指定时区 传递的参数映射到Data不指定时区,连接数据库不指定时区,保存时 ...

  3. Fiddler一次性发多个请求

    Fiddler一次发送多个请求 选中某个请求: 选中 : Raw, 将request数据拷出: 包含请求header和request body 替换request header里面的ASP.NET_S ...

  4. mac 重启php-fpm

    查看php-fpm端口是否在被php-fpm使用 一般修改 php.ini 文件后经常需要重启php-fpm sudo killall php-fpm // 关闭 再输入 sudo lsof -i:9 ...

  5. 卷积神经网络(CNN)_相关知识

    斯坦福公开课 CS231n Convolutional Neural Networks for Visual Recognition : http://cs231n.stanford.edu/syll ...

  6. 李彦宏AI大会现场:3秒钟事故30分钟专注

    编辑 | 于斌 出品 | 于见(mpyujian) 很多人只看到了舞台上3秒钟的事故,却没有看到李彦宏在台上30分钟的专注. 7月3号,百度AI开发者大会上,李彦宏遭遇了3秒钟的突然袭击,他表现的沉着 ...

  7. 1 CSS简介&语法&选择器及优先级&背景&文本&字体&链接&列表&表格

    什么是CSS? Cascading Style Sheets层叠样式表,样式定义如何显示HTML元素 样式通常存储于样式表中,外部样式表通常存储在CSS文件中 多个样式定义可层叠为1,样式对网页中元素 ...

  8. TensorFlow 训练只用cpu

    os.environ["CUDA_VISIBLE_DEVICES"] = ""

  9. 浅谈区块链和p2p网络

    最近对区块链产生了兴趣就去了解了一下,分享一下.... 首先要先了解一下什么叫做区块链: 区块链:简单来说就是一种基于分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式. 相信说 ...

  10. Centos7 nginx的负载均衡概念与配置

    一.负载均衡概念 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台 ECS 的流量分发控制服务.负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单 ...