`
smiky
  • 浏览: 257808 次
  • 性别: Icon_minigender_1
  • 来自: 天门
社区版块
存档分类
最新评论

tomcat源码安装并调试(一)

阅读更多

参考资料:

http://tomcat.apache.org/tomcat-6.0-doc/building.html

http://blog.csdn.net/huxin1/archive/2008/04/13/2289140.aspx

本次安装在基于myeclipse8.0,JDK1.5。tomcat源码是用subversion管理,首先要安装subversion插件。

 

1.安装subversionr插件

点击help-->software updates-->add/remove sofeware-->add-->

a.在search中输入subversion,会搜索出相应的subversion项,选1.6版本的安装

b.点击add,在name中输入你想要的名字如(subversion),在url中输入http://subclipse.tigris.org/update_1.6.x

然后一路下一步就可以安装好subversion的插件

2.检出tomcat项目

点击file-->import-->svn-->从SVN栓出项目-->创建新的资源库位置-->在url中输入http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/,接着一路下一步就OK了

3.编译tomcat源码

tomcat源码是用ant编译的,这里就不介绍ant的安装了,大家去查下资料。

在这里可以使用myeclipse直接用ant来运行build.xml,也可以手动到tomcat项目目录下运行ant命令。

本人采用的是后者。

首先,编译时要依赖一些包,ant在执行过程中会去下载。

在build.properties.default文件中有相关的信息,首先我们将build.properties.default改名为build.properties,

找到base.path=/usr/share/java,这个路径是用来存放即将下载的文件的目录,因为我用windows操作系统,所以这个路径要改掉,如我这里使用base.path=E:/myeclipse8GA/workspace/tomcat6/share

 

然后,执行ant命令:ant download

执行这条命令可能会出错,因为build.properties文件中的某些下载地址己经失效了。

我在安装时就出现了这个问题,主要体现在jdt.loc=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip

这个路径是我后来换上去的,最初的地址己经失效,但是我发现它下载的实在是太慢,于是在网上找了个地址,路径为http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905 /download.php?dropFile=eclipse-JDT-3.2.zip,但是我将这个路径放到base.path后却不起作用,于是直接下载后,解压到E:/myeclipse8GA/workspace/tomcat6/share下面(ant下载好相关文件后,会将其解压)。切记是直接解压到当前文件夹,默认为eclipse文件夹。

重新执行ant download显示成功。

 

最后,直接执行ant命令,就会编译成功了。中间可能会报什么API过时之类的,但是影响不大。看其它文件,好像说用JDK1.6好像会有问题,具体没测试,没有发言权。

 

对于用myeclipse来编译的话,右击build.xml-->run as-->选择第二个ant build-->在target中选择download点击run,就会开始下载,时间可能有点长,因为jdt有19M,然后再右击build.xml-->run as 选择第一个ant build即可。就能完成编译了。

下面是下载完成后的目录结构:

 编译完成后,你会在tomcat项目目录下发现多出了一个output目录,下面有build与classes两个子目录,classes为类的字节码文件,build下面就跟正常tomcat安装后的目录一个样。

 4.除去多余的classpath引用

完成前面几步,刷新myeclipse中的tomcat项目,你会发现有个红叉,表示有错误存在。请右击该项目,在弹出菜单中选择 build path-->configue build path,然后删除两个以 TOMCAT_LIBS 开头的两个库文件,只保留一个 JRE 库文件,然后点击“ OK ”按钮

5.添加依赖包

tomcat源文件要依赖一些jar包,否则会报编译错误.

ant.jar (请在ant安装目录的lib子目录中拷贝)

commons-collections-3.1.jar (从刚才Ant下载的commons-collections-3.1子目录中拷贝)

commons-dbcp-1.2.1.jar(从刚才Ant下载的commons-dbcp-1.2.1子目录中拷贝)

commons-logging-1.1.jar(如果您本机没有这个jar包,请从http://commons.apache.org/downloads/download_logging.cgi处下载)

commons-pool-1.2.jar(从刚才Ant下载的commons-pool-1.2子目录中拷贝)

org.eclipse.jdt.core_3.2.0.v_671.jar(从刚才Ant下载的eclipse\plugins子目录中拷贝)
6.启动tomcat

Eclipse 中运行 Tomcat 。请找到 Tomcat 的启动主类 org.apache.catalina.startup.Bootstrap ,右击这个类,在弹出菜单中选择“ Run As…”--> ”Open Run Dialog…” ,然后在弹出的“ Run ”窗口中填入程序运行参数“ start” JVM 运行参数 catalina.home ,如下面窗口所示



 点击run就能启动tomcat了。

 

7.段点调试

右击org.apache.catalina.startup.Bootstrap-->debug as -->java application,让tomcat以debug形式启动,

找到org.apache.jasper.compiler.Compiler 类,在 generateJava() 方法的第一行打一个断点,然后访问http://localhost:8080/examples/jsp/,点击页面中的execute,因为在页面内容不变的情况下,jsp页面不会重新编译,所以你第一次点击某个execute时,myeclipse进入debug模式,再点的时候却没反应了。

 

 

 

  • 大小: 5.9 KB
  • 大小: 8.4 KB
  • 大小: 29.1 KB
分享到:
评论
1 楼 yjhexy 2010-05-12  
解我心头之急,多谢阁下

相关推荐

    Tomcat 源代码调试笔记 - 看不见的 Shell1

    【Tomcat 源代码调试笔记 - 看不见的 Shell】这篇笔记主要探讨了如何在Tomcat运行时动态插入过滤器,以及遇到的问题和解决方法。Tomcat作为一个流行的Java应用服务器,它允许开发者通过Servlet规范中的`...

    tomcat源码

    理解Tomcat源码不仅有助于提升个人技能,还能够帮助开发者解决实际问题,比如调试应用异常、优化性能、自定义功能等。因此,花时间研究`apache-tomcat-8.5.35-src`是一个对Java Web开发者非常有价值的学习过程。

    Ant编译Tomcat源码、MyEclipse导入Tomcat源码、执行Tomcat源码启动Tomcat

    在编译Tomcat源码之前,确保已安装Java JDK和Ant。下载并解压`apache-tomcat-6.0.37-src.zip`后,进入解压后的目录,通过命令行执行`ant`命令,Ant会根据`build.xml`中的配置编译源码,生成可执行的Tomcat服务器。 ...

    Tomcat6源代码学习(运行源代码及调试)

    将学到的知识应用于实际项目,例如自定义Valve实现特定功能,或通过源代码调试解决线上问题,都能进一步提升你的技能。 总结,学习Tomcat6源代码不仅是提升技术深度的过程,也是对Java Web原理的深入探索。通过阅读...

    tomcat源码+文档pdf+源码解析

    源码解析部分则是对Tomcat源码的深度剖析,涵盖了关键类和方法的作用、设计模式的运用以及性能优化技巧。这有助于开发者理解Tomcat内部的工作流程,例如,如何处理HTTP请求的生命周期,以及线程池是如何调度和管理的...

    Tomcat远程调试

    然而,在开发过程中,我们常常会遇到需要进行远程调试的情况,以便解决复杂的代码问题。这篇内容将详细介绍如何进行Tomcat的远程调试。 首先,了解远程调试的基础原理是必要的。远程调试允许开发者在不直接访问...

    tomcat 源码分析系列文档

    【标签】"tomcat源码分析"表明整个资料集专注于Tomcat的源代码级探索,适合于开发者或运维人员深入了解服务器的底层实现。 【文件名称列表】中的每个文档都对应一个特定主题: 1. "Tomcat处理HTTP请求源码分析.doc...

    源码安装Tomcat所需文件

    源码安装意味着我们需要下载Tomcat的源代码,并手动编译、配置和安装。这通常适用于那些需要自定义配置或对系统环境有特殊要求的情况。在这个过程中,我们至少需要以下两个主要文件: 1. `apache-tomcat-7.0.47.tar...

    tomcat源码导入myeclipse

    1. **准备环境**:确保已安装MyEclipse并配置好Java SDK,因为Tomcat源码是用Java编写的。 2. **获取源码**:从Tomcat官方网站下载源码压缩包,解压后得到源代码目录。 3. **创建项目**:在MyEclipse中创建一个新的...

    基于外包tomcat的maven实时调试工具

    然而,Maven与Tomcat的集成调试一直是一个让开发者头疼的问题,因为默认配置下,Maven构建的项目并不支持实时调试和热部署,这大大降低了开发效率。标题中的“基于外包tomcat的maven实时调试工具”就是为了解决这一...

    可在Eclipse中导入和运行的tomcat源代码

    深入研究Tomcat源码,你可以了解到以下知识点: - **Servlet生命周期**:Tomcat如何加载、初始化、服务和卸载Servlet。 - **线程模型**:Tomcat如何使用线程池处理并发请求,以及其性能优化策略。 - **会话管理**:...

    Eclipse远程调试Tomcat

    关于“源码”标签,它提示我们关注的是与源代码相关的调试。在远程调试Tomcat时,确保Eclipse中的项目已经包含了要调试的源代码,这样可以查看和分析代码逻辑。如果Tomcat部署的应用程序是WAR或EAR包,可能需要将其...

    Tomcat源码学习:一个最简单的“Tomcat”

    【标题】"Tomcat源码学习:一个最简单的‘Tomcat’",这篇博客主要探讨的是如何通过学习Tomcat的源代码来理解这个流行的开源Java Servlet容器的工作原理。Tomcat是Apache软件基金会的一个项目,它是Java Web应用...

    查看Tomcat源代码

    本文将围绕"查看Tomcat源代码"这一主题,详细介绍如何查看和学习Tomcat的源码,以及它能带给我们的技术启示。 首先,我们需要获取Tomcat的源代码。Tomcat是开源的,它的源码托管在Apache Software Foundation的Git...

    TOMCAT源代码,包括转载得别人的分析

    通过阅读"TOMCAT源码分析.doc"和解压后的"apache-tomcat-6.0.0-src.zip",你可以深入了解上述知识点,并学习如何根据源码进行调试、优化或扩展Tomcat。这份资料对于Java Web开发者来说是一份宝贵的参考资料,有助于...

    tomcat源码依赖包

    本文将详细探讨“tomcat源码依赖包”这一主题,旨在帮助读者更好地理解和构建Tomcat6及其之前版本的源代码。 首先,我们来谈谈“jar”标签。在Java开发中,jar(Java Archive)文件是一种打包格式,它将类文件、...

    tomcat源码阅读(一)——环境搭建

    Tomcat源码使用Maven进行构建,因此需要安装并配置Maven环境。 3. **文本编辑器或IDE**:为了更高效地阅读和理解源码,推荐使用支持Java的集成开发环境(IDE),如IntelliJ IDEA或Eclipse。如果你更喜欢轻量级的...

    tomcat源码资源包

    【标题】"Tomcat源码资源包"是一个包含Apache Tomcat服务器源代码的压缩文件,旨在帮助开发者深入了解Tomcat的工作原理以及进行定制化开发。Tomcat是Java Servlet和JavaServer Pages(JSP)的开源应用服务器,是轻量...

    tomcat6 源代码

    在Eclipse中,可以直接导入Tomcat源码,通过断点、日志等手段进行调试,这对于理解和改进Tomcat的工作方式非常有帮助。 通过深入学习和研究Tomcat6的源代码,开发者不仅可以掌握Servlet容器的工作原理,还能提升...

Global site tag (gtag.js) - Google Analytics