基础环境win10、jdk1.6、eclipse
一、下载tomcat源码
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.10/src/apache-tomcat-7.0.10-src.zip
二、下载ant,并设置环境变量
http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.7-bin.zip
将apache-ant-1.9.7\bin添加到环境变量
三、编译tomcat源码
1)将apache-tomcat-7.0.10-src.zip解压,进入其目录,复制build.properties.default为build.properties,修改base path
2)编译
3)生成eclipse工程
四、导入eclipse
五、解决错误
这时,如果工程出现”Unbound classpath variable:‘ANT_HOME/lib/ant.jar’”类似的错,则加入相应的classpath变量定义。
“window”—>”preferences”—>“Java”—>“BuildPath”—>“ClassPath Variable”,在右侧增加环境变量,点击“New”,Name中写入“ANT_HOME”,Path为ant所在的目录。
同理,要加入classpath变量TOMCAT_LIBS_BASE变量。你已经执行过上面的ant,即从网上下了相应的jar包,可以把 TOMCAT_LIBS_BASE变量指向你本地存放的目录即可。
如:C:\path\to\the\repository
如果没有,你可以选择手动下载这些jar包,然后指定到classpath下。
org.apache.catalina.tribes.tipis.AbstractReplicatedMap有一处源代码的错误,我改成如下,暂时不知道会不会影响运行。
另一种方法,使用git同步tomcat的官网代码
在 http://git.apache.org/ 中找到tomcat的git仓库,按照http://jingyan.baidu.com/article/bad08e1e9882ed09c8512187.html中方法创建工程。
依然需要使用ant来编译代码才行。
建议:jdk1.7 编译tomcat8,然后使用jdk1.8运行eclipse导入,代码不会有任何错误,方便调试tomcat。