目的:获取tomcat源码,部署到eclipse进而分析tomcat的架构体系。
准备工作:
svn客户端下载
ant下载,环境变量path配置到ant下面的bin
tomcat项目的源码地址: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags 这里的是tomcat6版本对应的源码,最好选取最新的,不然svn获取代码的时候会提示一个版本的错误。
步骤:
1,新建一个文件夹,比如我的F:/tomcat-6.0.x,右键svn checkout 在URL of respository一栏填上你所选取的版本对应的URL,比如http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_36/ 然后点击OK。获取源码的过程中到最后可能回报一个版本相关的错误,有可能你选择的不是最新的版本。
2,利用ant进行编译。首先,修改源码目录下面的build.properties.default 修改为build.properties。打开它,修改base.path=你硬盘上存在的目录,比如base.path=F:/tomcatneeded,这样做的目的是,在ant编译项目的时候会有一些依赖的项目需要download。
然后,再命令行下,定位到你的源码目录,然后运行 ant download 这样就会把依赖的项目download到tomcatneeded下面了。
最后,运行ant命令进行编译,有可能会报错,这样你把编译环境换成jdk1.5,再试试看。成功之后,在源码目录下面会多出一个output文件夹,这就是你ant的结果。
3,部署到eclipse,import 选择已经存在的项目,选择到你的刚才你编译后的源码目录。这时候有可能不会被eclipse识别,原因是没有找到.classpath 与.project这两个描述文件。你会发现在项目下面只有eclipse.classpath eclipse.protect,这样内容不变,你只要修改一下这两个文件名字就可以了。
4,运行。启动主类org.apache.catalina.startup包下的Bootstrap类,右键Run Configurations 在Program arguments中写入:start
在VM arguments中写入:-Dcatalina.home=" F:/tomcat-6.0.x \output\build",这两个参数。之后,你就会看到tomcat启动之后在
console打印的消息了。尽情的debug吧!
来源:oschina
链接:https://my.oschina.net/u/869249/blog/105023