一、下载Tomcat7源码

从官网上下载Tomcat源码,   http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/src/apache-tomcat-7.0.70-src.zip

下载之后,将源码解压后重名为tomcat-src,放在E盘的tomcat7目录下.

二、安装Ant

因Tomcat源码需要ant编译,所以需要安装Ant,从官网下载后解压,并配置环境变量即可.

三、安装JDK6

tomcat7的编译需要JDK6的环境,JDK7以及以上,ant 编译时会报错.



四、用Ant工具编译Tomcat源码

打开cmd命令行工具,进入tomcat源码目录,输入ant  ide-eclipse ,然后按下Enter键,会自动下载编译需要的依赖包.

 

testexist:
[echo] Testing for C:\Users\yulei/tomcat-build-libs/objenesis-1.2/objenesis-1.2.jar downloadzip:
[get] Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip
[get] To: C:\Users\yulei\tomcat-build-libs\download-1649634615.zip
[get] Error getting https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip to C:\Users\yulei\tomcat-build-libs\download-16496 BUILD FAILED
E:\tomcat7\tomcat_src\build.xml:2697: The following error occurred while executing this line:
E:\tomcat7\tomcat_src\build.xml:2848: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570)
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:525)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:728)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:641)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:631) Total time: 1 minute 58 seconds

可以看见,编译报错了,是因为从国外网站下载依赖的objenesis-1.2-bin.zip超时了,导致编译失败.

解决办法,翻墙下载objenesis-1.2-bin.zip文件,这里为了方便,为大家提供了下载地址:http://pan.baidu.com/s/1kUWtA8v

将其解压后放在C:\Users\yulei\tomcat-build-libs 目录下面

再次运行ant  ide-eclipse 命名就会编译成功了

编译成功后,会生成Eclipse的项目文件(.classpath等),如下图:

五、将Tomcat7源码导入MyEclipse

导入MyEclipse后,工程上面会出现红色感叹号.


打开MyEclipse的Problems视图,可以看到如下错误:

解决方案:右键tomcat工程,Build Path--->Configure Build Path


如上图,以Ant举例,图示操作,点击ant  ,然后点击Edit..    ,若没有,需要自己新建一个.

以此类推,把余下的Tomacat依赖包配置好。TOMCAT_LIB_BASE  配置的地址是:C:/Users/yulei/tomcat-build-libs

六、运行Tomcat

右键Tomcat工程,Run As --->Java Application, 选择Bootstrap.

点击OK,出现如下选项:

选择start-tomcat,后命令行出现如下信息:

九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.CatalinaProperties loadProperties
WARNING: Failed to load catalina.properties
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [D:\CBSS\code\tomcat-7.0.x\output\build\conf\server.xml]
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [D:\CBSS\code\tomcat-7.0.x\output\build\conf\server.xml]
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

表示,tomcat服务没有跑起来,别着急,用Ant  deploy一下你的tomcat工程.

deploy成功之后,然后再运行你的tomcat,会出现如下信息,表示Tomcat服务已成功启起来:

访问http://localhost:8080

Tomcat7源码环境搭建的更多相关文章

  1. Linux Kafka源码环境搭建

    本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Linux操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推. 1.安装和配置JDK确认JDK版本至少为1.7,最好是1 ...

  2. 【ZooKeeper系列】3.ZooKeeper源码环境搭建

    前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了Zo ...

  3. MyBatis源码环境搭建

    之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...

  4. 1-web应用之LAMP源码环境搭建

    目录 一.LAMP环境的介绍     1.LAMP环境的重要性     2.LAMP组件介绍 二.Apache源码安装     1.下载Apache以及相关依赖包     2.安装Apache以及相关 ...

  5. 【一步一步】Spring 源码环境搭建

    平时项目中基本上都会用到spring,但是源码还没有深入的了解过.趁这段时间稍微空闲点,开始研究下spring 源码.下面是spring 源码的环境搭建. 主要分为如下步骤: ①安装jdk,gradl ...

  6. Spring源码阅读 源码环境搭建(一)

    ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 ...

  7. Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍

    最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...

  8. Spring 5.2.x 源码环境搭建(Windows 系统环境下)

    前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...

  9. Tomcat 源码环境搭建

    Tomcat 源码搭建 下载源码 下载地址 :https://tomcat.apache.org/download-80.cgi#8.5.35 下载之后解压缩 导入Idea 添加pom.xml文件 & ...

随机推荐

  1. svg 五花 元辅音 助读器

    如图,使用svg 创建5个圆,中间 辅音字母,外圈 元音字母 以及 示例单词. 可以使用  提交 按钮 进行更新

  2. [LeetCode] Number of Atoms 原子的个数

    Given a chemical formula (given as a string), return the count of each atom. An atomic element alway ...

  3. Error:ivalue require as left operant of assignment

    Error:ivalue require as left operant of assignment 解答:该错误的意思是左操作数必须为左值,这个发生错误的原因在于赋值符号的左边不能是已确定的值,如: ...

  4. [Awson原创]网络(network)

    Description Awson是某国际学校信竞组的一只菜鸡.学校为了使教育信息化,打算在学校内新建机房,并且为机房联网.但吝啬的学校又不想花费过多的开销,于是将规划 网络路线的任务交给了信竞组的A ...

  5. wows

    [问题描述]山山最近在玩一款游戏叫战舰世界(steam 游戏太少了),他被大舰巨炮的魅力折服,于是山山开了一局游戏,这次发现目标是一艘战列舰新墨西哥级,舰桥很高,原本应该打在目标身后的圆形水域内的炮弹 ...

  6. ●hihocoder #1394 网络流四·最小路径覆盖

    题链: http://hihocoder.com/problemset/problem/1394 题解: 有向图最小路径覆盖:最少的路径条数不重不漏的覆盖所有点. 注意到在任意一个最小路径覆盖的方案下 ...

  7. POJ 3171 Cleaning Shifts

    Description Farmer John's cows, pampered since birth, have reached new heights of fastidiousness. Th ...

  8. Python Django系统

    本节内容 路由系统,视图函数,模板引擎,ORM操作 FBV和CBV ORM操作补充 Cookie和Session Ajax入门 1.  Django基本内容整理 1.1 路由系统 Django中路由系 ...

  9. IDE、SDK、API

    IDE 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集成了代 ...

  10. 如何使用 TeamViewer 配置QuickConnect按钮?

    QuickConnect作为TeamViewer中一个比较重要的部分,得到了很多用户的认可.那么在实际运用中,怎么才能设置网页或单个程序的QuickConnect呢?所以小编以此问题为例,教大家如何配 ...