tomcat6的编译和导入myeclipse

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat6的编译和导入myeclipse相关的知识,希望对你有一定的参考价值。

声明:近期在学习tomcat6的源代码,网上搜索了些相关的资料,并自己操作了下进行了对应的汇总。如今总结例如以下

本文目的:编译tomcat6源代码+导入tomcat6源代码到myeclipse

測试环境:

Jdk:jdk1.7.0_80

Axis:axis-bin-1_4

Ant:apache-ant-1.9.2

Myeclipse:2015

Tomcat:apache-tomcat-6.0.45

步骤:

一:下载tomcat的源代码包

这里能够通过svn下或者直接到tomcat官网下载,我这里是直接到官网下载的。

这里我用的是src不是tar版本号的。

技术分享

然后将源代码包解压到指定的目录下。

技术分享

我的解压到了这个文件夹下,这里须要注意的是output文件夹是编译时生成的。build.properties是我后面重命名的,这个文件原来是build.properties.default文件。

Tomcat默认使用ant进行编译的,熟悉ant的人应该知道怎么解决,就是通过配置文件build.properties来 设置。该配置文件在Tomcat源代码路径下为“build.properties.default” ,我们能够去掉.default后缀或直接新建一个build.properties都能够,当然我选择了前者,将“build.properties.default” 改动为“build.properties” 打开, 改动里面的base.path属性值为我们希望的下载路径并加入proxy代理配置(我这里仅仅是改动了下载的路径 就是执行ant download命令时下载的路径。并没有设置代理),格式例如以下:

技术分享

二:ant的安装

这里能够參考下网上介绍的,我这里仅仅大概说下步骤

2.1首先到官网下载ant的zip包。然后解压缩

2.2配置环境变量

2.3验证是否成功安装

三:tomcat的编译

 在Tomcat编译过程中,Ant会让我们下载一些必要的依赖项目,base.path文件夹就是用来保存这些项目文件的。这个我们在第一步中已经配置过。改动完base.path后,我们回到MS-DOS窗体。切换到Tomcat源码所在文件夹,然后执行ant download命令,例如以下图所看到的:

技术分享

技术分享

我这里比較顺利,第一次执行的时候报了错误,是connection timeout的错误。原因就是连接超时了,我又又一次执行了一次ant download命令就成功了。

这个时候你能够看到base.path指定文件夹下已经多出了好些文件夹。ant download命令成功后运行ant命令

我这里出了部分警告,只是能够成功运行。到这个地方tomcat的源代码就编译成功了。

技术分享

 

附:

①假设你改动了部分源代码,须要又一次编译 ,直接进入到源代码路径。运行ant命令就可以。

②假设须要编译servlet和jsp API文档,进入到源代码路径下运行例如以下命令:

ant -f dist.xmldist-javadoc

③假设须要编译extras扩展功能(commons-logging,webservices etc.)。进入到源代码路径下运行例如以下命令:

ant -f extras.xml

④假设须要编译成release版本号。进入到源代码路径下运行例如以下命令:

ant -f dist.xmlrelease

 

四:导入tomcat到myeclipse

4.1打开myeclipse新建javaproject

技术分享

最初的时候仅仅有src目录和JRE System Library(我这里用的jdk1.7 用1.6后面启动的时候回报错这个详细看版本号匹配)

4.2javaproject新建完毕后,选中javaproject。

import->file system

在From directory选择tomcat源代码,选择java和test(假设你须要測试的话选择test)。例如以下图:

技术分享

在into folder中选择我们刚新建的tomcat6,finish。

note:将java、test设置成source folder。java build path ->Source->Addfolder...->选择java和test。

如今项目结构例如以下图所看到的

技术分享

4.3导入jar包

上面那些不爽的红叉是由于缺少jar的原因,我们如今须要那些jar包呢?

test须要junit.jar。这个直接用eclipse里面的就可以。我是从第一步中保存的junit中获取的

java中须要:

·        ant.jar 这个能够从下载的ant中获取

·        jaxrpc.jar 这个能够从aix2的包中获取

·        org.eclipse.jdt.core_3.3.1.v_780_R33x.jar  这个能够从ant download下载的jdt.loc=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip这个包中获取

·        wsdl4j-1.5.1.jar这个能够从aix2的包中获取

导入后就清爽了!

技术分享

4.4启动tomcat

注意我測试的时候发现这个时候myeclipse的工作空间中是不能进行tomcat插件的配置的。

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

技术分享

技术分享

run as:在Arguments的VM arguments中设置

-Dcatalina.home="E:\job\tomcatsrc\apache-tomcat-6.0.45-src\output\build"

然后就能够启动了!

上面的路径依据自己的实际情况。

同理stop的时候配置成stop然后run就能够了。

 








以上是关于tomcat6的编译和导入myeclipse的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat6 和 JRE7 兼容性问题。不支持的 major.minor 版本 51.0

javac编译不同目录的源码提示找不到符号

tomcat6.0.exe运行一闪而过

commonutils.uuid;需要导入啥包

安装Tomcat 8后Java导入util.Arrays失败,如何解决?

怎么引入servlet中的两个包