MyEclipse中调试Tomcat

首先从Apache的SVN服务器中获取Tomcat源码

  1. 安装SVN客户端。当然也可以安装(My)Eclipse的插件。这里采用安装SVN客户端的方式。安装方式参考我的另一篇博文:SVN服务器搭建以及在MyEclipse中的使用方法
  2. cmd-->svn export http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_36/  D:/Tomcat_Src ;后面的路径可以自定义。(要求联网)。执行成功后,下面是D:/Tomcat_Src目录的结构:
  3. MyEclipse中调试Tomcat_第1张图片
  4. 在该目录下新建build.properties文本文件,并复制目录下的build.properties.default文件的内容到build.properties中。
  5. 修改build.properties文件内容,把
    base.path=/usr/share/java
    改为:
    base.path=D:/Tomcat_Src/share
    因为原始内容是linux系统的路径表示法。这里得改为Window系统的路径表示法

编译Tomcat源码


  1. 由于Tomcat是用Ant工具进行编译,所以得下载ANT。下载地址:http://ant.apache.org/bindownload.cgi 。得到 apache-ant-1.9.3-bin.zip。也可以使用其他版本。安装方法可以解压后参照里面的manual目录下的install.html文件。
  2. 执行cmd,切换到D:/Tomcat_Src目录下,执行ant downlaod命令。执行完后,D:/Tomcat_Src目录下会新建有一个share目录,就是上面配置的。其目录结构如下:
  3. MyEclipse中调试Tomcat_第2张图片
  4. 同时也会新建output目录。
  5. 执行cmd,切换到D:/Tomcat_Src目录下,执行ant 命令,开始编译。跳过上述步骤不会编译成功。成功后会在D:/Tomcat_Src目录下新建一个output目录。这个目录后面会用到。

导入MyEclipse

直接上图:
MyEclipse中调试Tomcat_第3张图片
MyEclipse中调试Tomcat_第4张图片
MyEclipse中调试Tomcat_第5张图片
点击Finish后,出现工程Tomcat 6.0.36,但又部分代码报错。这是因为缺少部分Jar包。分别是:
  1. ant.jar   这个可以在刚才那个ant的解压目录中的lib文件下找到。
  2. wsdl4j-1.6.2.jar    下载地址:http://download.csdn.net/detail/u012358984/6849633
  3. javaee.jar     下载地址:http://download.csdn.net/detail/u012358984/6849637
加入上面三个Jar包后,就能编译通过。

运行Tomcat

  1. 找到类:org.apache.catalina.startup.Bootstrap
  2. 右键run as--> run configurations.如下图设置:
  3. MyEclipse中调试Tomcat_第6张图片
  4. 点击Run,输出:
  5. Jan 14, 2014 11:50:36 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.7.0_45\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;E:\Installation Programs\About Java\apache-ant-1.9.3/bin;D:\Program Files\Java\jdk1.7.0_45\bin;D:\Program Files\Java\jdk1.7.0_45\bin\bin;D:\Program Files\Python33\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;D:\Program Files (x86)\Git\cmd;D:\Program Files\MySQL\MySQL Server 5.5\bin;D:\Program Files\TortoiseSVN\bin;d:\Program Files (x86)\Bazaar;.
    Jan 14, 2014 11:50:36 PM org.apache.coyote.http11.Http11Protocol init
    INFO: Initializing Coyote HTTP/1.1 on http-8080
    Jan 14, 2014 11:50:36 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 890 ms
    Jan 14, 2014 11:50:36 PM org.apache.catalina.core.StandardService start
    INFO: Starting service Catalina
    Jan 14, 2014 11:50:36 PM org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/@VERSION@
    Jan 14, 2014 11:50:36 PM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor docs.xml
    Jan 14, 2014 11:50:36 PM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor host-manager.xml
    Jan 14, 2014 11:50:36 PM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor manager.xml
    Jan 14, 2014 11:50:37 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory examples
    Jan 14, 2014 11:50:37 PM org.apache.catalina.core.ApplicationContext log
    INFO: ContextListener: contextInitialized()
    Jan 14, 2014 11:50:37 PM org.apache.catalina.core.ApplicationContext log
    INFO: SessionListener: contextInitialized()
    Jan 14, 2014 11:50:37 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory ROOT
    Jan 14, 2014 11:50:37 PM org.apache.coyote.http11.Http11Protocol start
    INFO: Starting Coyote HTTP/1.1 on http-8080
    Jan 14, 2014 11:50:37 PM org.apache.jk.common.ChannelSocket init
    INFO: JK: ajp13 listening on /0.0.0.0:8009
    Jan 14, 2014 11:50:37 PM org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=12/33  config=null
    Jan 14, 2014 11:50:37 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 1385 ms
    

  6. 启动成功。
  7. 当然也就能设置断点,和debug as了。
若有不对的地方,欢迎吐槽。技术嘛,就是要讨论才能迅速提高。

你可能感兴趣的:(tomcat,调试tomcat,tomcat调试)