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. java基础(1-50)-------->超级简单,不信你不会!!!

    1:java中的保留字:const&goto; 2:&和&&都可以做逻辑运算符,即运算符两边的表达式都为true,结果才为true,一方为false,则结果为false ...

  2. Color.FromArgb()方法详解

    关于颜色值的表示 常用的颜色值表示方式有两种,一种是10进制的RGB值表示,如(0,113,255),三个值分别表示(红,绿,蓝):一种是16进制的颜色码表示,如#ff3212.这两种形式在编程中都可 ...

  3. linux定时问题

    手动运行java脚本,可以,但定时运行没效果 查看脚本是否赋予执行权限:若无则赋予可执行权限,若还是没用,则在脚本增添环境变量,百度搜索.

  4. Codeforces Round #315 (Div. 2)【贪心/重排去掉大于n的元素和替换重复的元素】

    B. Inventory time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  5. 【spring cloud】子模块启动报错com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect

    spring cloud子模块启动报错 Caused by: java.lang.ClassNotFoundException: com.netflix.hystrix.contrib.javanic ...

  6. tensorflow 运行 python convolutional.py时

    Traceback (most recent call last): File "convolutional.py", line 326, in <module> tf ...

  7. 终于会用c#中的delegate(委托)和event(事件)了 [转]

    原文 : http://www.cnblogs.com/zhangchenliang/archive/2012/09/19/2694430.html 一.开篇忏悔 对自己最拿手的编程语言C#,我想对你 ...

  8. 2016.6.21 eclipse配置server locations时按钮为灰色

    我在使用eclipse配置Tomcat服务器的时候发现,默认情况下Tocmat把我们部署的项目放在了workspaces下面,需要手动修改将其放在tomcat的安装路径下的webapp内. 从图中可以 ...

  9. LeetCode OJ 之 Ugly Number (丑数)

    题目: Write a program to check whether a given number is an ugly number. Ugly numbers are positive num ...

  10. intent传值传对象跳转

    intent传值传对象跳转 1.传值 //原activity中存入一个字段 intent = new Intent(From.this, To.class); intent.putExtra(&quo ...