最近想写几篇关于jsp底层原理的文章,感觉还是从源码入手比较好。想了想还是从tomcat源码开始吧。从网上找了几篇关于ant的文章看了看,感觉还行,因为编译tomcat必须要了解ant方面的知识的。不说废话了,现在开始。
1. 在myeclipse6中
用SVn从http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_0/ checkout 出tomcat6源码 检出的项目名称为tomcat6 ,我的工作空间位置是 D:\myEclipse6Tomcat6_20100429
上图是检出源码后的目录,现在并没有lib,share 和output这几个个目录,这个目录是编译后才生成的。
1. 安装ant ,这个就不说了网上有的是资料
2. 把tomcat6 这个目录拷贝到一个尽量简单的目录 我的是c:\tomcat6
3. 复制一份tomcat6 下build.properties.default 文件并重名为build.properties
4. 打开build.properties 修改base.path= c:/tomcat6/share , 在c:\tomcat6 下建一个目录share 这个目录是tomcat 在编译是用来保存其依赖的 库文件。
5. 由于在build.properties 中 jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip 中这个链接已经失效 ,所以为了预防编译是出错 最好先下载 eclipse-JDT-3.2.zip 这个文件 ,当时找这个文件可费了一番功夫 。在我写这篇文章是的有效链接地址为 http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
这个文件将近20M 。
6.下载这个文件后, 我为了方便 在机器上起了个tomcat服务 并把这个文件放到了tomcat 下 webapps\ROOT 主目录中 ,那么 可以在build.properties 中修改
jdt.loc= http://localhost:8080/ eclipse-JDT-3.2.zip 这是为了防止 在编译时再从网上下载 我想出的笨办法,如果你的网速快的话可以修改为jdt.loc=http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
这样也行。
7. 下一步就是编译你的机器上最好装有jdk1.5 ,最好设有JAVA_HOME 这个path,这是为了防止不必要的错误。
8. 在命令行下 键入 cd c:\tomcat6 切换到 tomcat6 目录中 后运行 ant download
Ant会自动把tomcat6所依赖的包下载到 c:\tomcat6\share 目录中并自动解压
如果提示成功的话,在此可能有好多警告,不必理会。
9. 如果上诉过程成功的话那么恭喜你了,至少我当时是在上个步骤被折磨的不轻
下边继续在命令行中键入 ant ,开始编译。
11.编译成功后把这个目录拷贝到D:\myEclipse6Tomcat6_20100429
刚开始建的工作空间中并覆盖从svn上down下的代码
12.在tomcat6 中新建一个文件夹lib用来保存以下文件
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子目录中拷贝)
把以上文件拷贝到lib文件夹中,并把这些jar文件加入到tomcat6 项目的classpath中
13. 在myeclipse中选择window-》Preference-》MyEclipse-》server-》tomcat-》
Tomcat6.x-》
这个过程应该很简单 就是平时配置tomcat的过程
完成以上过程 会在 servers视图中出现 tomcat6.x
然后在org.apache.catalina.startup. Bootstrap 的main方法中设几个断点,以debug模式启动tomcat6 就可以调试tomcat了。
错误处理:
Ant错误 1
downloadzip:
[get] Getting: http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
[get] To: D:\carl_wu\tomcat\share\file.zip
[get] Error opening connection java.io.FileNotFoundException: http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
[get] Error opening connection java.io.FileNotFoundException: http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
[get] Error opening connection java.io.FileNotFoundException: http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip
[get] Can't get http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip to D:\carl_wu\tomcat\share\file.zip
BUILD FAILED
D:\carl_wu\tomcat\src\build.xml:554: The following error occurred while executing this line:
D:\carl_wu\tomcat\src\build.xml:514: Can't get http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip to D:\carl_wu\tomcat\share\file.zip
出现这个错误请参照第6和第7步
还有其他错误可能是因为你ant安装错误,或jdk安装错误,建议jdk使用1.5
并在环境变量中加入 JAVA_HOME这个变量,这样出错机会可能小点。
以下是我上传的编译后项目的地址,我的文件上传权限只有15m,所以分成了4个文件,下载后解压导入到myeclipse中 按照第13步配置后就可以用了
http://download.csdn.net/source/2301411 这是第一部分
http://download.csdn.net/source/2301430 第二部分
http://download.csdn.net/source/2301442 第三部分
http://download.csdn.net/source/2301452 第四部分
相关推荐
- 跟踪代码执行流程,了解请求从接收到响应的全过程。 - 修改源码并测试新功能,或者优化现有代码。 - 学习和研究Tomcat如何实现Servlet容器的多线程、线程池、连接管理和内存管理等高级特性。 - 针对特定需求,开发...
JDK是Java编程语言的基础,它提供了编译、运行和调试Java应用程序所需的所有工具。在Ubuntu上安装JDK,我们可以使用apt包管理器。打开终端并执行以下命令: 1. 更新系统包列表: ``` sudo apt update ``` 2. 安装...
本资源包"Tomcat集群所需文件全集"提供了一套完整的Tomcat集群搭建所需的资料,包括Tomcat6、Apache HTTP服务器源码、mod_jk模块源码以及一份集群安装的简易文档,帮助开发者实现高可用性和负载均衡。 首先,Apache...
6. **扩展与调试应用**:开发者还可以在源代码环境中测试和调试自己的Web应用,直接查看Tomcat处理请求的全过程,这对于调试疑难问题或性能瓶颈特别有帮助。 通过这种方式,开发者能够获得对Tomcat工作方式的深入...
将Tomcat源码转换为Maven项目意味着你能够利用Maven的依赖管理和构建功能来编译源码,这对于那些已经习惯使用Maven的开发者来说更加方便。 值得注意的是,你在处理中文显示乱码问题时,对源码做了一些修改,将所有...
当你在Eclipse中设置断点在这个类中时,可以观察和理解Tomcat如何从启动到服务运行的全过程。 在深入源码之前,你需要对以下几个关键概念有所了解: 1. **Servlet**:Servlet是Java平台上的一个标准接口,用于扩展...
### Apache + Tomcat + Memcached 全配置详解 #### 一、环境搭建概述 本文将详细介绍如何在 Ubuntu 操作系统下使用源代码安装并配置 Apache、Tomcat 和 Memcached,实现集群中的 Session 共享与负载均衡。由于采用...
通过这个压缩包,学习者或开发者不仅可以了解项目的技术栈,还可以动手实践,学习如何在Tomcat上部署应用,体验从源代码到运行应用的全过程。这对于提升Java Web开发技能,特别是项目管理和部署流程的理解,是非常有...
【标签】"tomcat"进一步确认了这个压缩包与Apache Tomcat相关,Tomcat是Java生态系统中的核心组件之一,广泛应用于小型到中型的Web应用程序,尤其适合那些不需要全功能应用服务器的轻量级项目。 在【压缩包子文件的...
4. **编译类无需重启**:嵌入式Tomcat5.5能够自动检测类文件的变化,并自动重新加载,这样在开发过程中,当修改了Java源码并编译后,无需手动重启服务器,应用就能自动使用新的类。 5. **开发专用**:嵌入式Tomcat...
Spring 源码注释中文版的提供,使得开发者能够更加深入地理解 Spring 的工作原理,无需经过复杂的编译过程,可以直接阅读源码注释来学习。 Spring 框架主要由以下几个关键模块组成: 1. **Core Container(核心...
2. 安装JK模块:获取mod_jk源码,编译并将其添加到Apache的模块目录中,然后在配置文件(如httpd.conf)中加载该模块。 3. 安装Tomcat 7:在多台服务器上部署Tomcat,配置每个实例的server.xml以监听不同的端口。 ...
开发者或者对Tomcat内部工作原理感兴趣的人会下载源码进行编译、调试或者定制自己的Tomcat版本。 2. `apache-tomcat-6.0.35-src.zip`:同样,这是Tomcat 6.0.35版本的源代码。尽管6.0系列已经比较老旧,但有些用户...
【标题】:“jsp的博客系统,tomcat+...这个“jsp的博客系统,tomcat+sql2000”项目涵盖了Web开发的多个关键环节,涉及了从后端服务器、数据库设计到前端展示的全过程,是学习和实践Java Web开发的一个典型应用场景。
在本例中,提供的文件`apache-tomcat-9.0.1.tar.gz`是Tomcat 9.0.1版本的源码包。解压后,用户可以找到包含服务器配置、Web应用程序、日志文件等目录。`bin`目录下的可执行脚本如`startup.sh`和`shutdown.sh`用于...
综上所述,“MyClub俱乐部”项目是一个全面的Java Web开发实例,涵盖了从环境搭建到应用开发的全过程。通过学习和实践这个项目,开发者可以深入了解Servlet、JSP、MyEclipse和Tomcat的协同工作原理,同时掌握EasyUI...
本话题将深入探讨如何通过集成Nginx和Tomcat实现负载均衡,并探讨Session共享的策略,以及使用ANT工具进行自动化构建的流程。让我们逐一解析这些关键知识点。 首先,Nginx是一个高性能的反向代理服务器和HTTP缓存,...
根据提供的文件信息,我们可以归纳出一个关于如何在Linux环境...以上步骤涵盖了从环境准备、MySQL、HTTPD、PHP以及Tomcat的安装与配置全流程。通过这种方式,可以在Linux环境下快速搭建起一个完整的Web应用服务器环境。