tomcat 源码下载及本地运行
Tomcat 主干分支地址:
Git 地址 :https://github.com/apache/tomcat.git
Svn地址:http://svn.apache.org/repos/asf/tomcat/trunk
本文用svn (svn下载的较快些,好用点)
1. 预备---可先阅读官方文件 http://svn.apache.org/repos/asf/tomcat/trunk/BUILDING.txt
(1) 安装 JDK,并配置好 环境变量。 [ 1.8.0_20]
(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
检验安装及环境变量
(2) 安装 tortoisesvn [TortoiseSVN 1.8.6]
(https://tortoisesvn.net/)
(3) 下载,安装ant,并配置好 环境变量。 [apache-ant-1.9.6]
(http://ant.apache.org/bindownload.cgi)
检验安装及环境变量
(4)下载 eclipse [Mars.2 Release (4.5.2)]
(http://www.eclipse.org/downloads/)
注: 不考虑兼容性,稳定性,纯属技术性学习,都应该选择最新的版本
2 下载此目录http://svn.apache.org/repos/asf/tomcat/trunk 所有代码到本地
假设目录为 ${tomcat-src}
复制 ${tomcat-src}/build.properties.default 到当前目录,并改扩展后缀命名为
build.properties
在此文件找到 base.path= 配置项,
原来为: base.path=${user.home}/tomcat-build-libs
${user.home} 这个目录可改下,改为自己喜欢的目录, 该目录会下载并存放tomcat依赖的其它jar
若为公司网络,存在代理,则需要在build.properties配置 如下项
proxy.use=true
proxy.host=proxy.domain
proxy.port=8080
proxy.user=username
proxy.password=password
3 在${tomcat-src} 目录下依次执行如下两个命令
ant
ant ide-eclipse
若存在执行 ant命令时,下载过程报错,即下载第三方Jar失败,可以手动下载,按照指定的目录放。
比如:
downloadzip:
[get] Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zi
p
[get] To: E:\osource\svn\apache\tomcat\trunk\3rd\tomcat-build-libs\downloa
d-157966192.zip
[get] Error getting https://objenesis.googlecode.com/files/objenesis-1.2-b
in.zip to E:\osource\svn\apache\tomcat\trunk\3rd\tomcat-build-libs\download-1579
66192.zip
BUILD FAILED
E:\osource\svn\apache\tomcat\trunk\build.xml:2840: The following error occurred
while executing this line:
E:\osource\svn\apache\tomcat\trunk\build.xml:2944: java.net.ConnectException: Co
nnection timed out: connect
1.可以手动打开浏览器 https://objenesis.googlecode.com/files/objenesis-1.2-bin.zi
P下载。
当然此处googlecode的访问,需要一定技术,实在不行,也可 百度 objenesis
网上有下的。
具体下载的第三jar放到哪。可参考build.properties文件。比如:
# ----- objenesis, used by EasyMock, version 1.2 or later -----
objenesis.version=1.2
objenesis.home=${base.path}/objenesis-${objenesis.version}
objenesis.loc=https://objenesis.googlecode.com/files/objenesis-${objenesis.version}-bin.zip
objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar
其中${base.path}为
base.path=${user.home}/tomcat-build-libs ({user.home}是否改了?改了就换下..)
其中 ${objenesis.version} 以 1.2 替换
Jar网上存在的地址为:
https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip
本地需要放的地址为
${base.path}/objenesis-1.2/objenesis-1.2.jar
4
${tomcat-src}这个目录会有
.classpath
.project 这两个文件,因此可以导入eclipse
以Exiting Projects into Workspace
导入eclipse 工程
此时发现报错如下
DescriptionResourcePathLocationType
Unbound classpath variable: 'ANT_HOME/lib/ant.jar' in project 'tomcat-9.0.x'tomcat-9.0.xBuild pathBuild Path Problem
打开 .classpath 文件 发现
解决方法:
Window->Preferences->java->build path->Classpath Variables
选择右边 New 添加两个classpath 变量
Ant home目录
上面配置的tomcat依赖的第三方目录base.path=${user.home}/tomcat-build-libs
若不想配置变量到eclipse,也可以直接改 .classpath文件。比如
<classpathentry kind="var" path="TOMCAT_LIBS_BASE/ecj-4.5.1/ecj-4.5.1.jar"/>
改为
<classpathentry
kind="lib" path="E:/osource/svn/apache/tomcat/trunk/3rd/tomcat-build-libs/ecj-4.5.1/ecj-4.5.1/ecj-4.5.1.jar"/>
5
Eclipse中, 选择该工程文件下 build.xml
选择右键
Ant build
[echo] Building Tomcat JDBC pool libraries
prepare:
download:
build-src:
build:
compile-webapp-examples:
deploy:
examples-sources:
BUILD SUCCESSFUL
Total time: 2 seconds
此时output目录下有对应的编译打包的文件, 运行的所有文件都以 output目录下的为准,比如配置文件
output\build\conf\server.xml
运行
org.apache.catalina.startup.Bootstrap
下的 main方法
启动 start-tomcat
三月 31, 2016 9:40:32 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 3611 ms
浏览器访问
http://localhost:8080/
官方样例学习:
http://localhost:8080/examples/
相关推荐
源码解析部分则是对Tomcat源码的深度剖析,涵盖了关键类和方法的作用、设计模式的运用以及性能优化技巧。这有助于开发者理解Tomcat内部的工作流程,例如,如何处理HTTP请求的生命周期,以及线程池是如何调度和管理的...
本篇将详细介绍如何使用Ant编译Tomcat源码,以及如何在MyEclipse环境中导入并运行Tomcat源码。 首先,Ant是Apache软件基金会开发的Java项目自动化构建工具,它能够执行编译、测试、打包等任务。在Apache Tomcat的...
源码下载是开发者深入理解其内部工作原理的重要途径,本篇文章将围绕Tomcat7源码进行详细探讨。 一、Tomcat7源码结构解析 Tomcat7的源代码结构清晰,主要包含以下几个核心模块: 1. catalina:这是Tomcat的核心...
源码分析是提升开发者对服务器内部运作机制理解的重要途径,尤其对于Tomcat这样的核心组件,源码的学习能够帮助我们更深入地理解Web应用的部署、运行以及性能优化。 首先,我们要了解Tomcat的架构。Tomcat7基于...
本篇文章将深入探讨Tomcat的工作原理,并结合源码进行解析,帮助读者更全面地理解这款服务器的运行机制。 1. **Tomcat架构概述** Tomcat的设计遵循了Servlet容器的基本规范,主要包括四个核心组件:Catalina(核心...
在深入探讨Tomcat源码运行时可能遇到的缺失JAR问题之前,让我们先理解一下Tomcat和这些特定库的基本概念。 Tomcat是一个流行的开源Java Servlet容器,由Apache软件基金会维护。它实现了Java EE(现在称为Jakarta EE...
4.tomcat源码在eclipse运行,重新编译,重新打包步骤文件 5.一个tomcat源码在eclipse上运行的java工程 作用: 1.用于学习tomcat源码和了解tomcat运行机制 2.学习如何修改tomcat源码后如何重新编译,打包。
【标题】"Tomcat源码导入MyEclipse"是一个针对Java开发者的重要实践操作,它涉及到两个关键组件:Tomcat服务器和MyEclipse集成开发环境。Tomcat是Apache软件基金会的一个开源项目,它作为Servlet和JavaServer Pages...
通过阅读和分析源码,可以加深对Tomcat运行原理的理解,这对于解决实际问题和进行性能调优非常有帮助。 总之,《Tomcat深入剖析》结合源码分析,是一本全面且深入的Tomcat学习资源,无论是初学者还是经验丰富的...
在Eclipse中运行Tomcat源码前,确保已正确配置了Eclipse的Java和Web开发工具(如JDT和WTP)。导入源码后,需要设置项目的构建路径,确保所有依赖项被正确引入。描述中提到的"依赖添加完毕",意味着源码已经包含了...
编译运行tomcat源码需要的jar包,junit在Eclipse中本来就有,就不提供了。另外ecj-4.3.1.jar就是Eclipse的JDT插件:org.eclipse.jdt.core_3.3.1.v_780_R33x.jar。将jar添加到eclipse中并增加到build path就可以运行...
1. 下载Tomcat源码:可以从Apache官网获取Tomcat 6的源码包,例如这里我们使用的是apache-tomcat-6.0.44-study。 2. 导入源码项目:在Idea中选择“Open”打开源码目录,Idea会自动识别为Maven项目。 3. 配置Maven...
【标签】"tomcat源码分析"表明整个资料集专注于Tomcat的源代码级探索,适合于开发者或运维人员深入了解服务器的底层实现。 【文件名称列表】中的每个文档都对应一个特定主题: 1. "Tomcat处理HTTP请求源码分析.doc...
本文将深入探讨“编译Tomcat源码所需jar包”这一主题,帮助开发者了解如何从源码构建Tomcat,以及在这个过程中需要用到的关键jar包。 首先,我们来了解一下为什么要从源码编译Tomcat。直接下载预编译的二进制版本...
要在Eclipse中跟踪运行Tomcat源码,首先你需要下载Tomcat的源码包,并将其导入到Eclipse项目中。然后,将这些JAR包添加到项目的类路径中。你可以通过以下步骤操作: 1. 在Eclipse中右键点击项目,选择“属性”...
根据所提供的文件信息,我们将从以下几个方面详细探讨Tomcat源码的相关知识点: 1. Catalina脚本解析:Catalina是Tomcat的主引擎,负责整个容器的初始化和处理。在Tomcat源码中,Catalina的脚本解析是了解其启动...
1. **Servlet容器**:Tomcat作为Servlet容器,其主要任务是管理和运行Servlet,接收HTTP请求,并将响应返回给客户端。在源码中,你可以看到如何处理这些请求和响应的实现。 2. **线程模型**:Tomcat使用了多线程...
本文将围绕Tomcat 6.0源码进行深入探讨,旨在帮助读者理解其内部运行机制,提高对服务器性能优化和问题排查的能力。 首先,源码下载是学习任何软件内部工作原理的第一步。对于Tomcat 6.0,你可以通过Apache官方网站...
IDEA 版 Tomcat 源码搭建 ...使用 IDEA 搭建 Tomcat 源码环境需要下载 Tomcat 的源代码,配置 Java_home 环境变量,创建 catalina-home 目录和 pom.xml 文件,并编辑 POM.xml 文件以便正确地编译和打包 Tomcat 源码。