设为首页 收藏本站
查看: 515|回复: 0

[经验分享] 导入tomcat源码

[复制链接]

尚未签到

发表于 2017-1-16 10:22:16 | 显示全部楼层 |阅读模式
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug)。
这里参考了网上一些资料,将自己操作过程记个流水账。
准备:
1.Tomcat源码下载
DSC0000.jpg
这个里下载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文件夹的结构如下:
DSC0001.jpg
我们会发现这个结构和从安装包里解压出来的tomcat结构一致。
进入bin,启动tomcat成功,就说明——ant编译tomcat成功了!
 
=====================================
将tomcat源码导入eclipse。
第一步:
在eclipse里新建一个java项目,例如:tomcat6。
第二步:
import->file system
在From directory选择tomcat源码,选择java和test(如果你需要测试的话选择test),如下图:
DSC0002.jpg
在into folder中选择我们刚新建的tomcat6,finish。
note:将java、test设置成source folder,java build path ->Source->Add folder...->选择java和test。
现在项目结构如下图所示:
DSC0003.jpg
第三部:导入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
导入后就清爽了!
DSC0004.jpg
第四步:
在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的作用,请大家指点。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-329132-1-1.html 上篇帖子: eclipse tomcat 配置 下篇帖子: 【tomcat】常见问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表