的环境:Win10,Eclipse 4.8.0 Photon,JDK 10.0.2
1.下载Tomcat源码
我下载的是:apache-tomcat-9.0.12-src.zip
下载地址:https://tomcat.apache.org/download-90.cgi
下载好后解压到指定目录,我的目录是:D:\Tomcat\apache-tomcat-9.0.12-src
2.下载并安装Ant(因为Tomcat使用Ant构建)
下载地址:https://ant.apache.org/bindownload.cgi
安装教程:https://ant.apache.org/manual/install.html#setup
手册:https://ant.apache.org/manual/index.html
ANT Libraries:https://ant.apache.org/antlibs/proper.html
我解压到: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 download需要进行的补充,可能这个命令不需要的,报错如下,属于正常,可接着进行下一步。
- 继续在该目录下运行命令: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.参考网址
原文地址:https://www.cnblogs.com/Sword007/p/11074702.html
时间: 2024-11-09 03:22:05