Tomcat 源码的获取与部署

感情迁移 提交于 2019-11-29 18:22:53

目的:获取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进行编译。
从ant的官网下载(http://ant.apache.org/bindownload.cgi ).zip archive的文件,把压缩包解压到D盘根目录,然后设置环境变量里添加ant下的bin目录如(D:\apache-ant-1.8.4\bin),最后运行cmd输入ant提示build failed表示编译环境已经配置成功。附:有的系统需要旧的ant来build工程。旧的版本下载地址为:http://archive.apache.org/dist/ant/binaries/ ,里面有旧版本的列表。
首先,修改源码目录下面的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,这样内容不变,你只要修改一下这两个文件名字就可以了,只能用dos命令“ren”修改文件名。
导入完成后,会看到一些错误提示。右击工程tomcat,选择"build Path"->Config Build path ,删除两个以TOMCAT_LIBS开头的两个库,保留JRE库和JUnit库(有的版本有些不同,总之只留JRE和Junit库就可以了)。
 把ant.jar(刚才下载的ant中的lib里有)和org.eclipse.jdt.core_3.3.1.v_780_R33x.jar(在eclipse环境下搜索就有)copy到代码工程下的lib文件夹下(lib文件夹之前没有,需要手动新建)。选择“Config Build path”->"Add library",加入一个User library,把这两个jar包加进来,命名成tomcat_lib。在Tomcat最新版本6.0.18中,有两个.java代码文件:ServiceProxy.java和ServiceRefFactory.java中用到了一些其他包中的类,如import javax.xml.rpc.Service和import javax.wsdl.Definition等类,这些类分别在包jaxrpc.jar和wsdl4j-1.5.1.jar中,这两个包都在axis2的lib中,我下载的版本是axis-bin-1_4.zip,下载地址是:[url]http://apache.freelamp.com/ws/axis/1_4/axis-bin-1_4.zip [/url] 解压后在lib目录可以看到这两个jar包,直接加入到工程即可。
4,运行。启动主类org.apache.catalina.startup包下的Bootstrap类,右键Run Configurations     在Program arguments中写入:start
    在VM arguments中写入:-Dcatalina.home=" F:/tomcat-6.0.x"(路径是你导入的项目的跟路径地址),这两个参数之后,(注意:一般需要修改项目底下conf下的server.xml的三个端口,避免与现有的冲突,,8005改9005,8080改9080,8009改9009)你就会看到tomcat启动之后在
console打印的消息了。尽情的debug吧! (程序结束后需要等待几分钟8080端口就会自动释放)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!