您的位置:首页 > 运维架构 > Tomcat

Eclipse中导入Tomcat源码

2013-11-12 10:59 399 查看
想要研究Tomcat的体系结构或者源码,最好将Tomcat源码导入到ide中,编写实例进行代码跟踪(debug)。

主要有以下几步需要操作:

1、下载tomcat源码:



这里下载的是tomcat-6.0.37的源码。

2、ant安装,用于编译tomcat源码。

ant下载解压后将其bin添加到系统环境path中。

3、IDE———选用eclipse

第一步:

解压Tomcat源码,例如解压到:E:\Tomcat\apache-tomcat-6.0.37-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,启动成功,就说明————ant编译tomcat成功了!

第三步:将tomcat源码导入eclipse中

3.1)在eclipse中新建一个java项目,例如:tomcat6

3.2)import->file system

在From directory选择tomcat源码,选择java和test(如果你需要测试的话选择test),如下图:



在Into folder中选择我们刚健的tomcat6,finish。

注意:将java、test设置成source folder,java build path ->Source->Add folder...->选择java和test。

现在项目结构如下图所示:



3.3)导入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

导入后就不报错了!

3.4)在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了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: