1. 到http://archive.apache.org/dist/tomcat/tomcat-7下载Tomcat源代码,本文用到的是apache-tomcat-7.0.19-src.zip;
注意:如果下载的tomcat版本不同,所用到的jdk版本不同。举例来说apache-tomcat-7.0.19-src.zip 使用jdk1.6没有问题;
而apache-tomcat-7.0.56则不能用jdk1.6 需要使用jdk1.7,若使用jdk1.6代码会报错,会找不到java.nio下的一些类。
2. 在Eclipse中新建Java Project,取名为Tomcat7109(可随意);
3. 把源码中的所有文件import到新建的项目;
4. 把conf、java、test三个文件夹作为Source Folder。
右击这三个目录-->Build Path-->Use as Source Folder;
5. 此时编译,会报错,需要添加一些必要的jar包。
所需jar包有:
ant.jar
geronimo-spec-jaxrpc-1.1-rc4.jar
hamcrest-core-1.3.jar
junit-4.11.jar
wsdl4j-1.6.2.jar
获得jar包方式:
(1)网上下载。自己动手找。
(2)根据源码中的build.properties.default自己下载jar包。
以下载geronimo-spec-jaxrpc-1.1-rc4.jar为例:打开build.properties.default
找到# ----- Webservices - JAX RPC -----
jaxrpc-lib.version=1.1-rc4
jaxrpc-lib.home=${base.path}/jaxrpc-${jaxrpc-lib.version}
jaxrpc-lib.loc=${base-maven.loc}/geronimo-spec/geronimo-spec-jaxrpc/${jaxrpc-lib.version}/geronimo-
spec-jaxrpc-${jaxrpc-lib.version}.jar
jaxrpc-lib.jar=${jaxrpc-lib.home}/geronimo-spec-jaxrpc-${jaxrpc-lib.version}.jar
就发下地址连接。base-maven.loc=http://repo.maven.apache.org/maven2
项目结构如下图:
找到org.apache.catalina.startup.Bootstrap类,运行即可起动Tomcat。
注意:
运行Tomcat源码时,如果遇到java.lang.ClassNotFoundException: listeners.ContextListener错误,删除webapps下的examples目录即可。
参考文件:
http://blog.csdn.net/fwwdn/article/details/8773001
http://my.oschina.net/xpbug/blog/53610