MyEclipse中调试Tomcat

一、下载、安装、配置

1、  JDK         下载oracle或者IBM JDK 1.6版本

2、  ANT         http://ant.apache.org

3、  Myeclipse    http://www.eclipse.org/downloads

4、  安装这里不再详细说!Tomcat的运行需要用到Ant

5、  添加环境变量JAVA_HOME和ANT_HOME。将%ANT_HOME%\bin添加到PATH中

6、  之所以用Myeclipse是因为Tomcat中用到了javaee.jar包的类,如果用eclipse的话还要单独下载javaee.jar

7、  利用TortoiesSVN检出Tomcat的源码或者到官网去下载。

二、编译Tomcat6源码
Tomcat的源代码文件找到build.properties.default文件,打开这个文件找到下面这行:
base.path=/usr/share/java
这个路径是用来存放即将下载的文件的目录,由于我用的是Windows,所以改为适合我的目录:
base.path=/Tomcat-DownLoad                 //最后生成的目录在源文件所在盘符的根目录下,本例为F:/Tomcat-DownLoad

/**

base.path=D:/Workspace/JEE/workspace/TOMCAT_6_0_26/share

最初用的是这种形式,确在目录中创建了一个特别的名字,不知什么原因,所以用上面的形式

**/

这个路径是用来存放编译Tomcat时实时下载jar的文件夹,修改后另存为build.properties



接着在D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src 目录下打开命令行窗口,执行下面命令(这里的src目录就是Tomcat源码的目录,下面是图)

 

ant download

 



TOMCAT_6_0_26这个版本目前下载正常,较老版本一些下载链接可能会失效,需要在 build.properties文件中改链接。
下载了如下文件:

下载时,有可能nsis-2.46这个包没下载成功,需要再执行一遍ant download命令。

 

下载完后直接执行 ant 命令就开始编译了
编译过程中可能会提示:“没有提示符JDT”类似的错误信息,原因是下载的ecj-3.7.jar文件不能正常使用造成的!

解决办法:

到下面的地址下载相关的ecj-3.7.2.jar

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.2-201202080800/ecj-3.7.2.jar

下载后改名为ecj-3.7.jar替换下载的文件即可!

如果编译成功会提示下面信息:


编译完成后会产生一个output目录,到这个目录(F:\source\javaEE\Web\Tomcat\output\build)下看看,怎么样?我们见到了熟悉的Tomcat目录结构,如下图:

 

三、Tomcat源码导入MyEclipse

打开MyEclipse,新建一个Java项目,然后点击“Next”按钮,在“Use default location”中填入D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src
Project name TOMCAT_6_0_26
然后一路next




接着我们会看到MyEclipse拒绝编译该项目,不要着急,这是由于Eclipse找不到该项目指定的库文件。右击该项目弹出菜单选择 "Build Path" -> "Configure Build Path..." -> "Libraries"
Remove下面两项:
ANT_HOME/lib/ant.jar
TOMCAT_LIBS_BASE/...

如果这两项没有则忽略删除。



接着添加如下依赖(Add External JARs...)
(也可以参考:http://tomcat.apache.org/tomcat-6.0-doc/building.html#Building_with_Eclipse)
(1) ant.jar (在你电脑ant安装目录下lib目录下可以找到)
(2)wsdl4j.jar
(2) junit4.7 (这两个在网上很容易找到)

5.MyEclipse中运行Tomcat
找到org.apache.catalina.startup.Bootstrap
右键 Run as -> Run Configurations...
Program参数窗口和VM参数窗口分别填入
start

-Dcatalina.home="D:\Workspace\JEE\workspace\TOMCAT_6_0_26\src\output\build"



Debug同理,不解释,看图:



org.apache.jasper.compiler.Compiler类的generateJava()方法开始Debug更好,debug启动Tomcat,然后浏览器输入地址并回车,就会看到如下Debug视图:



注意:generateJava方法是将jsp编译成java class,这个行为只有第一次请求时才会调用,将你再次发送请求时你将看不到这个Debug视图了,解决办法是到Tomcat build\work\Catalina\目录删除对应jsp的类文件

 

当启动程序是,可能会出现错误提示:

直接单击“Proceed”按钮。



在浏览器中输入http://localhost:8080/examples

单击Servlets examples后出现:


接下来,带个好心情,读源码吧,祝快乐

转载于:https://my.oschina.net/u/859757/blog/87396

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值