Tomcat源码 学习系列(一) Tomcat6.0 源码 Eclipse中编译运行

     前言(也就是废话),十一放假,突然想研究一下tomcat源码,由于他的大名鼎鼎,想膜拜一下。

动手,网上搜集资料,自己实际运行。可是发现个问题,要么很多资料是全文字,要么是纯apache官方的翻译,令我这种长期做web的小鸟,感觉自己菜菜。无奈,自己摸索,5天下来,今天终于ok了。总结一下,分享心得,给同样在菜鸟线上挣扎的兄弟们,一些鼓舞,我们都是小菜鸟,我们同样也能飞。绝对菜鸟级文章,高手勿笑。

网上的不说了,自己搜索一下就好。

官方的说明地址:http://tomcat.apache.org/tomcat-6.0-doc/building.html

 

    废话结束,正题。

资料下载:(我现在的时候是最新,或许兄弟们看时,已经不是最新了,见谅)

1.jdk:http://java.sun.com/javase/downloads/5u21/jdk(这个是jdk1.5,因为ant,和tomcat编译都需要1.5)

2.eclipse:http://download.actuatechina.com/eclipse/technology/epp/downloads/release/galileo/SR1/eclipse-jee-galileo-SR1-win32.zip

3.tomcat源码:http://apache.freelamp.com/tomcat/tomcat-6/v6.0.20/src/apache-tomcat-6.0.20-src.zip

4.ant:http://apache.etoak.com/ant/binaries/apache-ant-1.7.1-bin.zip(我们不会直接用它的,用eclipse来调它)

 

部署:安装解压等自己看着装。装完后,部署环境变量。

Java添加:

    JAVA_HOME:E:/Program Files/Java/jdk1.5.0_21

    Path:%JAVA_HOME%/bin;

Ant添加:

    Path:E:/Program Files/apache-ant-1.7.1/bin 

以上是我的目录,实际使用时,适当修改。

 

源码处理:

tomcat6.0源码解压:F:/work space/eclipse/Tomcat 6.0

去除一下只读属性。

 

用eclipse导入(选择Java Project from Existing Ant Buildfile),然后选择源码中的build.xml,即可成功导入。

               Tomcat源码 学习系列(一) Tomcat6.0 源码 Eclipse中编译运行_第1张图片

 

把test也添加为Source Flder。

 

设置更改jre选中jre1.5

 

然后Add Library,选择Junit。(我选了Junit4)

 

去掉多余的引用,例如它自己导入的一个eclipse的jar引用,和tomcat的某些引用的(没有的话,最好),后面咱们自己添加。

 

消除红色xx:

需要不少jar文件,我都是从spring携带的lib中找的,偷懒了,给同样,不善于找的兄弟们提供一个捷径。

一下是spring中,最大的那个资源文件中找到的。其他相应的去各个官方找,也好。

不过用spring这个,省事嘿。

spring2.0.8:http://ncu.dl.sourceforge.net/project/springframework/springframework-2/2.0.8/spring-framework-2.0.8-with-dependencies.zip

据说里面的某个jar,必须用jdk1.5,也是前面需要jdk1.5的一个原因吧。

随便建个目录存放jar,我用的是ref。

/spring/lib/ant/ant.jar

/spring/lib/axis/axis.jar

/spring/lib/axis/wsdl4j.jar

/spring/lib/jakarta-commons/commons-collections.jar

/spring/lib/jakarta-commons/commons-dbcp.jar

/spring/lib/jakarta-commons/commons-logging.jar

/spring/lib/jakarta-commons/commons-pool.jar

/spring/lib/j2ee/jaxrpc.jar

以上都是网上的找的,只是最后一个是我自己添加的,因为没有它还会有好多红xx

 

还得需要去eclipse下找一个jar

/plugins/org.eclipse.jdt.core_3.5.0.v_963.jar(不同的clipse,版本号,会不同吧,我猜的)

 

把这些jar,引入。

 

红色xx应该没了,如果还有,看看是不是参照地方,重复了,改一改就好了。

 

Tomcat源码 学习系列(一) Tomcat6.0 源码 Eclipse中编译运行_第2张图片

 

好了,该做激动的事情了。

把目录中的build.properties.default,复制一份,命名为build.properties

并修改里面的一项base.path

我的更改如下,嘿嘿。

# ----- Default Base Path for Dependent Packages -----
# Please note this path must be absolute, not relative,
# as it is referenced with different working directory
# contexts by the various build scripts.

base.path=F:/work space/eclipse/BK/Tomcat 6.0/share

#base.path=/usr/share/java
#base.path=C:/path/to/the/repository
#base.path=/usr/local

 

我的源码目录是F:/work space/eclipse/BK/Tomcat 6.0各位看着设置自己的吧。

 

然后Window->Show View->Ant进入ant的窗口,咱们把代码中的build.xml拖过来,就好了。

 

对着窗口里面的download双击就好啦。

Tomcat源码 学习系列(一) Tomcat6.0 源码 Eclipse中编译运行_第3张图片

这样就把文件下载到share目录下了。听说不想下载的话,把咱们刚才引用的那些jar拷贝过来也成,还是下载吧,嘿嘿。src,以后慢慢读嘛。

总共8个文件夹,体积是大小:50.5 MB (53,054,100 字节)

 

然后再双击deploy[default],就是那个的。(貌似直接从它开始运行也可以,不过download占用时间最长吧,单独一下。)

 

BUILD SUCCESSFUL
Total time: 31 seconds

这样的信息,我喜欢。

 

运行啦。

环境变量添加,网上这么写的,抄的,为啥,不知道。

CATALINA_HOME:F:/work space/eclipse/Tomcat 6.0/output/build

就是你源目录下的output/build路径。

 

接下来,进入org.apache.catalina.startup包,对Bootstrap.java右键,选run configurations那个,进行run配置。

添加一个Java Application,进入Arguments选项卡。

 

Program arguments:start

VMarguments:"-Dcatalina.home=F:/work space/eclipse/Tomcat 6.0/output/build"

(我的具体位置)

Tomcat源码 学习系列(一) Tomcat6.0 源码 Eclipse中编译运行_第4张图片

 

好了,点击apply,关闭,然后对着Bootstrap运行吧,起来了,没有异常,爽啊。

 

    总结,以上为菜鸟总结,望高手们能够挑出其中不合理不合适的地方,做修正,本着菜鸟能看懂,有没有什么缺陷的母的,发表此文。

欢迎转载和抄袭,同时也欢迎标注具体出处。版权没有,盗版自由。ok。

你可能感兴趣的:(eclipse,spring,tomcat,jar,JUnit,download)