运行tomcat源码

今天在myeclipse6.5中把tomcat7.0.47源码跑了起来,其中出现过几个小错误,在这里记录一下,供想研究tomcat的codeer们。

1. 下载tomcat7.0.45

当然去apache官网喽,选一个版本点进去,最下面几行可以看到源码下载(Source Code Distributions)。

2. myeclipse6.5

用我本机的jdk1.7,myeclipse默认1.5 。

3. 新建项目

在myeclipse新建项目,起名tomcat7,将解压缩后的tomcat源码直接加进去。

项目结构图如下:

4.  启动项目

主类入口是org.apache.catalina.startup.Bootstrap.java,运行它即可。

浏览器输入”localhos:8080“出现tomcat欢迎页面,效果图如下:

5. 遇到的错误或异常

1》 以上我贴的结构图有红色差号是因为一个注解“@override”,这是jdk版本有关,清除即可。

2》 开始运行时有个叫“找不到org.apache.catalina.startup.Bootstrap.java主类“的错误,我点击”project->clean“清理了一下就好了,可能项目包太多不干净。

3》 有个出现大面积红色差号的问题和webapps下的examples有关,试着删除在运行报错找不到webapps下WEB-INF下lib中的类,然后我又把那俩类添加上,刷新下,好了。

4》 项目另外还依赖几个外部jar文件,可以在这下载

5》找不到该项目下的lib,因为源码解压后原本就没有,手动建一个文件夹lib。

6》“The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\software3\jdk1.7\bin;....”在当前java包路径下找不到APR,APR基于tomcat本地包能提高性能。这是一个tomcat本地库,名叫tcnative-1.dll,可选的,没有的话编译时会警告,可以在这里下载,版本要和当前tomcat的适应,我的tomcat源码版本7.0.45,该文件版本为1.1.29,将其放在jdk目录的bin文件夹下即可。

综上,就没有异常了,可以编译通过且没有报错。

时间: 2024-08-28 22:44:46

运行tomcat源码的相关文章

eclipse运行Tomcat源码

Tomcat 导入eclipse 本例采用 apache-ant-1.9.2(版本不一样的注意配置路径) tomcat 6.0.26 下载ant http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.4-bin.zip 由于只找到1.9.4的下载包以下的配置需要注意路径 解压到E盘根目录,注意解压之后的结构应该是如下图: 有时候不小心解压的时候会多出一个apache-ant-1.9.2 配置环境变量ANT_HOMT 值为:E:\

Eclipse中运行Tomcat源码

1. 到http://archive.apache.org/dist/tomcat/tomcat-7下载Tomcat源代码,本文用到的是apache-tomcat-7.0.19-src.zip: 注意:如果下载的tomcat版本不同,所用到的jdk版本不同.举例来说apache-tomcat-7.0.19-src.zip 使用jdk1.6没有问题: 而apache-tomcat-7.0.56则不能用jdk1.6 需要使用jdk1.7,若使用jdk1.6代码会报错,会找不到java.nio下的一些

TOMCAT源码分析(启动框架)

建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的. 所以得实践.实践.再实践. 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程. 如果有不明白的地方, 再来查阅本文, 看是否能得到帮助. 我相信这样效果以及学习速度都会好很多! 1. Tomcat的整体框架结构 Tomcat的基本框架, 分为4个层次. Top Level Elements: Server Service Connector HTTP AJP Conta

探秘Tomcat(一)——Myeclipse中导入Tomcat源码

前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生活,你就会发现世界如此美好,我知道的如此的少! 好比,但你看到如下代码 namespace Singleton { public class Singleton { private static Singleton singleton; private Singleton() { } public

Tomcat 源码分析(转)

Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件,连接器和容器,所谓连接器就是一个http请求过来了,连接器负责接收这个请求,然后转发给容器.容器即servlet容器,容器有很多层,分别是Engine,     Host,Context,Wrapper.最大的容器Engine,代表一个servlet引擎,接下来是Host,代表一个虚拟机,然后是Context,代表一个应用,Wrapper对应一个servlet.从连接器     传过来连接后,容器便会顺序经过上面的容器,最

tomcat源码学习(2)  关于apache digest

好久不写博文,罪过罪过.因为最近公司比较忙加上琐事有点多,所以隔了好久才来更新博文. apache digest本来是struts2框架中来加载xml文件并实例化对象的一个jar包,后来使用的越来越多. 我们都知道tomcat的conf文件夹下有一个server.xml配置文件,我们经常会其中的来进行配置以来运行一个java web项目,也经常修改中的port属性以来实现修改tomcat监听的端口.其实每个标签基本上都对应着一个对象,那tomcat是如何将这些对象实例化到java 虚拟机的运行内

tomcat源码分析前的准备工作

Tomcat源码学习前的准备工作 注:由于网上的帖子大部分没有配套的图片和错误的分析,所有费了半天劲整理了此篇博客,希望大家少走弯路吧 下面我们就开始我们的Tomcat源码学习之旅. 1. 下载Tomcat6.0的源代码 首先,我们得下载Tomcat6.0的源代码.Tomcat源代码的版本控制工具不是CVS,而是Subversion,如果您的机器上没有安装Subversion,请从http://subversion.tigris.org/servlets/ProjectDocumentList?

将tomcat源码导入eclipse

前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题.因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务器,而且用的也是socket通信.所以特别想看下tomcat是如何处理这些问题的. 主要步骤: 1. 去apache官网下载对应的tomcat版本源码(我这里下载的是9.0.0.M9)  http://tomcat.apache.org/download-90.cgi 2. 解压后的源码是没法作为工

tomcat源码导入eclipse

1. 获取源代码 方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tomcat源代码,选择最下面的source code 方式下载 方式二:利用svn获取源代码,先安装svn,再新建目录tomcat7, 接着在目录里用 svn执行以下命令 svn co http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_