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下的一些类。

2. 在Eclipse中新建Java Project。取名为Tomcat7109(可任意)。

3. 把源代码中的全部文件import到新建的项目,点击项目->右键菜单->import... -> File System->。

4. 把conf、java、test三个目录作为Source Folder。

右击这三个文件夹-->Build Path-->Use as Source Folder;

5. 此时编译,会报错,须要加入一些必要的jar包。

所需jar包有:

ant.jar

geronimo-spec-jaxrpc-1.1-rc4.jar

hamcrest-core-1.3.jar

junit-4.11.jar

wsdl4j-1.6.2.jar

获得jar包方式:

(1)网上下载。

自己动手找。

(2)依据源代码中的build.properties.default自己下载jar包。

下面载geronimo-spec-jaxrpc-1.1-rc4.jar为例:打开build.properties.default

找到# ----- Webservices - JAX RPC -----

jaxrpc-lib.version=1.1-rc4

jaxrpc-lib.home=${base.path}/jaxrpc-${jaxrpc-lib.version}

jaxrpc-lib.loc=${base-maven.loc}/geronimo-spec/geronimo-spec-jaxrpc/${jaxrpc-lib.version}/geronimo-spec-jaxrpc-${jaxrpc-lib.version}.jar

jaxrpc-lib.jar=${jaxrpc-lib.home}/geronimo-spec-jaxrpc-${jaxrpc-lib.version}.jar

就发下地址连接。base-maven.loc=http://repo.maven.apache.org/maven2

项目结构例如以下图:

找到org.apache.catalina.startup.Bootstrap类,执行就可以起动Tomcat。

注意:

执行Tomcat源代码时,假设遇到java.lang.ClassNotFoundException: listeners.ContextListener错误,删除webapps下的examples文件夹就可以。

參考文件:

http://blog.csdn.net/fwwdn/article/details/8773001

http://my.oschina.net/xpbug/blog/53610

Eclipse中执行Tomcat源代码的更多相关文章

  1. 在Eclipse中配置Tomcat 创建和运行Servlet/JSP

    在Eclipse中配置Tomcat 创建和运行Servlet/JSP 步骤一:在Eclipse中配置Tomcat(注意下载Eclipse IDE for Java EE Developers) (1) ...

  2. Eclipse中配置Tomcat容器

    Tomcat 安装与配置 Tomcat是Apache 软件基金会(Apache Software Foundation)核心项目之一,支持最新的Servlet 和JSP 规范.因为Tomcat 技术先 ...

  3. Eclipse中启动tomcat报错:A child container failed during start

    我真的很崩溃,先是workspace崩了,费了好久重建的workspace,然后建立了一个小demo项目,tomcat中启动却报错,挑选其中比较重要的2条信息如下: A child container ...

  4. Eclipse中使用tomcat 8服务器初级教程

    Eclipse中使用tomcat容器时,经常遇到的问题是启动不成功,输入localhost:8080报404,本文就是教大家破解这个问题.(不过这是很初级的问题了,大牛勿喷) 步骤 1 Window- ...

  5. eclipse中配置tomcat

    配置eclipse中的tomcat非常简单,之前以为windows下和mac中可能会不一样,但是经过配置发现是一样的: 下面就是在eclipse中简单的配置tomcat如下(mac和windows中都 ...

  6. Eclipse中集成Tomcat

    问题: 很多时候在Eclipse中启动Tmocat后,不能访问本机的localhost:8080主页,并且其他项目也不能访问. 原因: 打开Tomcat下的webapp后也找补到项目目录,这是因为Ec ...

  7. 在Eclipse中配置Tomcat时,出现Cannot create a server using the selected type错误

    在eclipse中配置Tomcat时,出现Cannot create a server using the selected type错误 原因:Tomcat被删除或者是重新安装,并且安装目录改变了. ...

  8. eclipse中 起动tomcat时报Multiple Contexts have a path of "/shopping"

    eclipse中 启动tomcat时报Multiple Contexts have a path of "/shopping". 这个是由于你的server服务器中的server. ...

  9. 如何在Eclipse中配置Tomcat

    1.Eclipse EE 配置Tomcat Eclipse EE 主要用于Java Web开发和J2EE项目开发.Eclipse EE中配置Tomcat比较简单,新建一个Tomcat Server即可 ...

随机推荐

  1. jenkins 管理员账号丢失

    在jenkins 设置权限后,无法登录 参考: 如何修改jenkins配置权限   https://zhidao.baidu.com/question/497256501658876284.html

  2. 10.1综合强化刷题 Day6

    T1 排序 题目描述 小Z 有一个数字序列a1; a2; .... ; an,长度为n,小Z 只有一个操作:选 定p(1<p<n),然后把ap 从序列中拿出,然后再插⼊到序列中任意位置. ...

  3. Java NIO中的Channel接口

    1. Channel  通道,可以将指定文件的部分或全部直接映射成Buffer. 不能直接读写Channel中的数据,Channel只能与ByteBuffer交互. 读数据时,把Channel中的数据 ...

  4. Linux下设置开机启动

    新配置了vsftpd 需要设置ftp开机启动,linux新手,还不是很熟悉linux下的操作! 查询后发现命令是: chkconfig vsftpd on chkconfig命令用于设置运行级别   ...

  5. UVA 133“The Dole Queue”(循环报数处理技巧)

    •参考资料 [1]:紫书P82 •题意(by紫书) 按照被选中的次序输出这 n 个人的编号: 如果A和B选中的是同一个人,输出一个这个人的编号: 输出格式:输出的每个编号占3个字节,不够3个字节在前面 ...

  6. void*类型的指针

    void*是一种特殊的指针类型,可以用来存放任意对象的地址.一个void*指针存放着一个地址,这一点和其他指针类似.不同的是,我们对它到底储存的是什么对象的地址并不了解: 比如:double a=2. ...

  7. mac python 切换系统默认版本

    1 找到所安装python路径/usr/local/Cellar/python/2.7.13/bin2 vim ~/.bash_profile 3 添加如下代码: PATH="/usr/lo ...

  8. 深入解析hostname

    结论:/etc/sysconfig/network 确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内 ...

  9. 《C++编程思想》第二章 数 据 抽 象(原书代码+习题+答案)

    相关代码例如以下: 1. <span style="font-size:18px;">/*声明与定义的差别*/ #include <iostream> us ...

  10. python遍历当前目录并删除某文件

    #coding: utf-8 """ this programe is to clear driverlog below this dir __author__:the_ ...