今天在myeclipse6.5中把tomcat7.0.47源码跑了起来,其中出现过几个小错误,在这里记录一下,供想研究tomcat的codeer们。
1. 下载tomcat7.0.45
当然去apache官网喽,选一个版本点进去,最下面几行可以看到源码下载(Source Code Distributions)。
2. myeclipse6.5
用我本机的jdk1.7,myeclipse默认1.5 。
3. 新建项目
在myeclipse新建项目,起名tomcat7,将解压缩后的tomcat源码直接加进去。
项目结构图如下:
4. 启动项目
主类入口是org.apache.catalina.startup.Bootstrap.java,运行它即可。
浏览器输入”localhos:8080“出现tomcat欢迎页面,效果图如下:
5. 遇到的错误或异常
1》 以上我贴的结构图有红色差号是因为一个注解“@override”,这是jdk版本有关,清除即可。
2》 开始运行时有个叫“找不到org.apache.catalina.startup.Bootstrap.java主类“的错误,我点击”project->clean“清理了一下就好了,可能项目包太多不干净。
3》 有个出现大面积红色差号的问题和webapps下的examples有关,试着删除在运行报错找不到webapps下WEB-INF下lib中的类,然后我又把那俩类添加上,刷新下,好了。
4》 项目另外还依赖几个外部jar文件,可以在这下载。
5》找不到该项目下的lib,因为源码解压后原本就没有,手动建一个文件夹lib。
6》“The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\software3\jdk1.7\bin;....”在当前java包路径下找不到APR,APR基于tomcat本地包能提高性能。这是一个tomcat本地库,名叫tcnative-1.dll,可选的,没有的话编译时会警告,可以在这里下载,版本要和当前tomcat的适应,我的tomcat源码版本7.0.45,该文件版本为1.1.29,将其放在jdk目录的bin文件夹下即可。
综上,就没有异常了,可以编译通过且没有报错。