标签:
声明:最近在学习tomcat6的源码,网上搜索了些相关的资料,并自己操作了下进行了相应的汇总,现在总结如下
本文目的:编译tomcat6源码+导入tomcat6源码到myeclipse
测试环境:
Jdk:jdk1.7.0_80
Axis:axis-bin-1_4
Ant:apache-ant-1.9.2
Myeclipse:2015
Tomcat:apache-tomcat-6.0.45
步骤:
一:下载tomcat的源码包
这里可以通过svn下或者直接到tomcat官网下载,我这里是直接到官网下载的。这里我用的是src不是tar版本的。
然后将源码包解压到指定的文件夹下。
我的解压到了这个目录下,这里需要注意的是output文件夹是编译时生成的。build.properties是我后面重命名的,这个文件原来是build.properties.default文件。
Tomcat默认使用ant进行编译的,熟悉ant的人应该知道怎么解决,就是通过配置文件build.properties来 设置。该配置文件在Tomcat源码路径下为“build.properties.default” ,我们可以去掉.default后缀或直接新建一个build.properties都可以,当然我选择了前者,将“build.properties.default” 修改为“build.properties” 打开, 修改里面的base.path属性值为我们希望的下载路径并添加proxy代理配置(我这里只是修改了下载的路径 就是运行ant download命令时下载的路径,并没有设置代理),格式如下:
二:ant的安装
这里可以参考下网上介绍的,我这里只大概说下步骤
2.1首先到官网下载ant的zip包,然后解压缩
2.2配置环境变量
2.3验证是否安装成功
三:tomcat的编译
在Tomcat编译过程中,Ant会让我们下载一些必要的依赖项目,base.path目录就是用来保存这些项目文件的。这个我们在第一步中已经配置过。修改完base.path后,我们回到MS-DOS窗口,切换到Tomcat源代码所在目录,然后运行ant download命令,如下图所示:
我这里比较顺利,第一次运行的时候报了错误,是connection timeout的错误,原因就是连接超时了,我又重新运行了一次ant download命令就成功了。
这个时候你可以看到base.path指定目录下已经多出了好些文件夹。ant download命令成功后执行ant命令
我这里出了部分警告,不过可以成功执行。到这个地方tomcat的源码就编译成功了。
附:
①如果你修改了部分源码,需要重新编译 ,直接进入到源码路径,执行ant命令即可。
②如果需要编译servlet和jsp API文档,进入到源码路径下执行如下命令:
ant -f dist.xmldist-javadoc
③如果需要编译extras扩展功能(commons-logging,webservices etc.),进入到源码路径下执行如下命令:
ant -f extras.xml
④如果需要编译成release版本,进入到源码路径下执行如下命令:
ant -f dist.xmlrelease
四:导入tomcat到myeclipse
4.1打开myeclipse新建java工程
最初的时候只有src文件夹和JRE System Library(我这里用的jdk1.7 用1.6后面启动的时候回报错这个具体看版本匹配)
4.2java工程新建完成后,选中java工程,
import->file system
在From directory选择tomcat源码,选择java和test(如果你需要测试的话选择test),如下图:
在into folder中选择我们刚新建的tomcat6,finish。
note:将java、test设置成source folder,java build path ->Source->Addfolder...->选择java和test。
现在项目结构如下图所示
4.3导入jar包
上面那些不爽的红叉是因为缺少jar的原因,我们现在需要那些jar包呢?
test需要junit.jar,这个直接用eclipse里面的即可。我是从第一步中保存的junit中获取的
java中需要:
· ant.jar 这个可以从下载的ant中获取
· jaxrpc.jar 这个可以从aix2的包中获取
· org.eclipse.jdt.core_3.3.1.v_780_R33x.jar 这个可以从ant download下载的jdt.loc=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip这个包中获取
· wsdl4j-1.5.1.jar这个可以从aix2的包中获取
导入后就清爽了!
4.4启动tomcat
注意我测试的时候发现这个时候myeclipse的工作空间中是不能进行tomcat插件的配置的。
找到类:org.apache.catalina.startup包中的Bootstrap类。
run as:在Arguments的VM arguments中设置
-Dcatalina.home="E:\job\tomcatsrc\apache-tomcat-6.0.45-src\output\build"
然后就可以启动了!上面的路径根据自己的实际情况。
同理stop的时候配置成stop然后run就可以了。
标签:
原文地址:http://blog.csdn.net/xyy511/article/details/51209392