编译Tomcat源码与Eclipse导入

1 篇文章 0 订阅

http://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html


1.Tomcat源码下载

    apache-tomcat-6.0.41-src.zip

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

    apache-ant-1.8.4

3.IDE——选用Eclipse3.7。


=================================

第一步:

解压Tomcat源码,例如解压到E:\study\tomcat\apache-tomcat-6.0.41-src

第二步:

2.1)使用ant编译tomcat源码,在编译之前需要下载相关的依赖项目。我们并不知道编译需要哪些依赖项目,怎么办?

让ant来帮忙吧!我们只需要准备一个存放这些依赖项目的地方,例如d:\tomcat\basepath

2.2)要让ant工作起来,我们还要将apache-tomcat-6.0.41-src文件夹中的build.properties.default重命名为build.properties,

并且打开它,修改base.path=E:/study/tomcat/basepath

2.3)下载依赖项目,进入命令控制台,进入目录E:\study\tomcat\apache-tomcat-6.0.41-src,执行命令:ant download

2.4)等依赖项目下载好后,就可以编译tomcat了。执行命令:ant。当编译完成后,我们可以查看目录E:\study\tomcat\apache-tomcat-6.0.41-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

ant.jar  在apache-ant-1.8.4目录下有

jaxrpc.jar

http://download.csdn.net/download/vincentlyf/4992240

(java APIs for XML-Based Remote Procedure Call,JAX-RPC)将XML 类型转换为 Java 类型,以确保 Web 服务客户机和基于 Java 的应用程序之间能够进行平稳的数据交换。


org.eclipse.jdt.core_3.5.2.v_981_R35x.jar

http://download.csdn.net/download/fan008boy/2652497


wsdl4j-1.5.1.jar      http://download.csdn.net/download/ttnuli/5459539


导入后就清爽了!

第四步:

在eclipse中启动tomcat。

找到类:org.apache.catalina.startup包中的Bootstrap类。

run as:在Arguments的VM arguments中设置

-Dcatalina.home="d:\output\build"

然后就可以启动了!

note: E:\study\tomcat\apache-tomcat-6.0.41-src\output\build下的lib、conf、webapps复制到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了!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值