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就能够了。
最新文章
- centos上如何安装redis?|centos傻瓜式安装redis教程
- Gevent中信号量的使用
- ✡ leetcode 169. Majority Element 求出现次数最多的数 --------- java
- servlet基本原理(手动创建动态资源+工具开发动态资源)
- robots.txt的介绍和写作
- Azure sdk for python
- HighCharts绘制图表
- Xcode升级插件失效,与添加插件不小心点击Skip Bundle解决办法
- 好网站:字体转换器在线转换 http://www.diyiziti.com/
- 【转】JSONP跨域的原理解析
- 洛谷P2723 丑数 Humble Numbers
- jquery之css()改变字体大小,颜色,背景色
- JavaScript(第二十一天)【DOM元素尺寸和位置】
- EasyUI中DataGrid隔行改变背景颜色。
- Erlang cowboy 处理不规范的客户端
- 强连通分量(Kosaraju)
- Angular7_获取异步方法里面的数据
- XSS学习(一)
- javascript的介绍、javascirpt的存在形式、javascript注释
- CodeForces5E 环转链,dp思想
热门文章
- 关于NLPIR应用在KETTLE中的探索
- (转)<;Unity3D>;Unity3D在android下调试
- System.Net.Http.Formatting的nuget版本冲突问题
- Java list 分页(多种方式)
- 3. Layout -- 1
- C#.NET常见问题(FAQ)-方法参数带ref是什么意思
- Jquery Types 小结
- 学习中遇到的c++问题,持续更新
- Emmet初探2
- C/C++程序内存分类