想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug)。
这里参考了网上一些资料,将自己操作过程记个流水账。
准备:
1.Tomcat源码下载
这个里下载tomcat-6.0.33源码。
2.ant安装,用于编译tomcat的源码。
ant下载解压后将其bin添加到系统环境path中。
3.IDE——选用Eclipse3.7。
=================================
第一步:
解压Tomcat源码,例如解压到D:\tomcat\apache-tomcat-6.0.33-src。
第二步:
2.1)使用ant编译tomcat源码,在编译之前需要下载相关的依赖项目。我们并不知道编译需要哪些依赖项目,怎么办?
让ant来帮忙吧!我们只需要准备一个存放这些依赖项目的地方,例如d:\tomcat\basepath。
2.2)要让ant工作起来,我们还要将apache-tomcat-6.0.33-src文件夹中的build.properties.default重命名为build.properties,
并且打开它,修改base.path=d:\tomcat\basepath。
2.3)下载依赖项目,进入命令控制台,进入目录D:\tomcat\apache-tomcat-6.0.33-src,执行命令:ant download。
2.4)等依赖项目下载好后,就可以编译tomcat了。执行命令:ant。当编译完成后,我们可以查看目录D:\tomcat\apache-tomcat-6.0.33-src,
可以发现里面多了一个文件夹:output。
output文件夹的结构如下:
我们会发现这个结构和从安装包里解压出来的tomcat结构一致。
进入bin,启动tomcat成功,就说明——ant编译tomcat成功了!
=====================================
将tomcat源码导入eclipse。
第一步:
在eclipse里新建一个java项目,例如:tomcat6。
第二步:
import->file system
在From directory选择tomcat源码,选择java和test(如果你需要测试的话选择test),如下图:
在into folder中选择我们刚新建的tomcat6,finish。
note:将java、test设置成source folder,java build path ->Source->Add folder...->选择java和test。
现在项目结构如下图所示:
第三部:导入jar包。
上面那些不爽的红叉是因为缺少jar的原因,我们现在需要那些jar包呢?
test需要junit.jar,这个直接用eclipse里面的即可。
java中需要:
- ant.jar
- jaxrpc.jar
- org.eclipse.jdt.core_3.3.1.v_780_R33x.jar
- wsdl4j-1.5.1.jar
导入后就清爽了!
第四步:
在eclipse中启动tomcat。
找到类:org.apache.catalina.startup包中的Bootstrap类。
run as:在Arguments的VM arguments中设置
-Dcatalina.home="d:\output\build"
然后就可以启动了!
==========================================
问题:
为什么要设置-Dcatalina.home="d:\output\build"?
首先说明output是什么——它就是ant编译出来的output文件夹,大家可以试试删除里面的东西看还是否可以成功启动。
如果不配置这个参数又会发生什么情况呢?删除-Dcatalina.home="d:\output\build",报错:
2011-10-20 14:49:35 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\myWorkSpace\tomcat6\lib], exists: [false], isDirectory: [false], canRead: [false]
2011-10-20 14:49:35 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\myWorkSpace\tomcat6\lib], exists: [false], isDirectory: [false], canRead: [false]
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\myWorkSpace\tomcat6\conf\server.xml
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\myWorkSpace\tomcat6\conf\server.xml
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina start
严重: Cannot start server. Server instance is not configured.
从中可以看出在项目的根目录下没有lib文件夹,没有conf文件夹,conf中没有server.xml,从而不能实例化server。
那么按照他的提示做,在启动就ok了!
关于安装tomcat时配置CATALINA_HOME和CATALINA_BASE的作用,请大家指点。
分享到:
相关推荐
MyEclipse导入Tomcat源码.wps文档说明 apache-tomcat-6.0.37-src.zip源码
tomcat源码导入myeclipse,里面包括所支持的jar文件与详细的导入说明
把tomcat源码导入myeclipse所需要的4大jar包
NULL 博文链接:https://liuliliujian.iteye.com/blog/756698
Tomcat源码直接导入eclipse
附近包括Tomcat源码、Tomcat源码开发环境依赖的包、Tomcat的环境编译工具ant 1、建立如下eclipse环境变量 Use Windows->Preferences and then Java->Build Path->Classpath Variables to add two new Classpath ...
Tomcat7.0源码,可以直接导入eclipse运行。不需要再做任何配置
在eclipse中导入tomcat7源码学习时候,需要用户的jar包整理。
tomcat8.5源代码工程,下载后可在idea直接导入和运行,可以好好阅读Tomcat源代码了解其中涉及的奥妙 如果从官网下载,配置运行可参考: https://www.cnblogs.com/grasp/p/10061577.html
tomcat7的源码项目,可以导入到eclipse,自己编译运行tomcat。
tomcat源码,含ant安装包,源码导入eclipse前的步骤
利用ant编译tomcat源码,然后导入到eclipse中进行源码解读
tomcat源码及导入到eclipse时的依赖包
Tomcat8源码,依赖添加完毕,可以在eclipse中直接运行,分析tomcat运转流程。 如果报错,拷贝conf和webapps文件夹到output/build目录下即可。
NULL 博文链接:https://theuniquegirl.iteye.com/blog/1019071
tomcat8源码研究, 直接导入eclipse即可使用,无bug,
tomcat-7.0.x源码,直接导入eclipse就行了,依赖的jar包已经下载好了,如果差一个ant.jar,你直接定位到ant安装目录下lib包下
tomcat 导入eclipse 工程源码。
这个是一个Tomcat源码,喜欢代码分析的课可以参考这个源码进行学习,网上有很多的源码导入方式,可以参考网上的源码导入方式来进行Tomcat源码学习
myeclipse导入 tomcat 源码http://blog.csdn.net/wwbmyos/article/details/7565617