Tomcat7源码环境搭建
一、下载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

以此类推,把余下的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源码环境搭建的更多相关文章
- Linux Kafka源码环境搭建
本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Linux操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推. 1.安装和配置JDK确认JDK版本至少为1.7,最好是1 ...
- 【ZooKeeper系列】3.ZooKeeper源码环境搭建
前文阅读: [ZooKeeper系列]1.ZooKeeper单机版.伪集群和集群环境搭建 [ZooKeeper系列]2.用Java实现ZooKeeper API的调用 在系列的前两篇文章中,介绍了Zo ...
- MyBatis源码环境搭建
之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...
- 1-web应用之LAMP源码环境搭建
目录 一.LAMP环境的介绍 1.LAMP环境的重要性 2.LAMP组件介绍 二.Apache源码安装 1.下载Apache以及相关依赖包 2.安装Apache以及相关 ...
- 【一步一步】Spring 源码环境搭建
平时项目中基本上都会用到spring,但是源码还没有深入的了解过.趁这段时间稍微空闲点,开始研究下spring 源码.下面是spring 源码的环境搭建. 主要分为如下步骤: ①安装jdk,gradl ...
- Spring源码阅读 源码环境搭建(一)
ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 ...
- Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍
最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...
- Spring 5.2.x 源码环境搭建(Windows 系统环境下)
前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...
- Tomcat 源码环境搭建
Tomcat 源码搭建 下载源码 下载地址 :https://tomcat.apache.org/download-80.cgi#8.5.35 下载之后解压缩 导入Idea 添加pom.xml文件 & ...
随机推荐
- Java面试题—初级(5)
41.a.hashCode() 有什么用?与 a.equals(b) 有什么关系? hashCode() 方法对应对象整型的 hash 值.它常用于基于 hash 的集合类,如 Hashtable.H ...
- Lua版组合算法
高效率的排列组合算法--<编程珠矶>--Lua实现 原文链接 原文是python实现的,这里给出lua版本的实现 组合算法 本程序的思路是开一个数组,其下标表示1到m个数,数组元素 ...
- TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS报错
[oracle@localhost bin]$ ./lsnrctl startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 17-APR- ...
- [LeetCode] Daily Temperatures 日常温度
Given a list of daily temperatures, produce a list that, for each day in the input, tells you how ma ...
- [LeetCode] Implement Magic Dictionary 实现神奇字典
Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll be ...
- NIO-学习
通道(Channel) 通道表示打开到 IO 设备(例如:文件.套接字)的连接.若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区.然后操作缓冲区,对数据进行处理.C ...
- codevs 3061 质子撞击炮②
提交地址:http://codevs.cn/problem/3016/ 3016 质子撞击炮 II 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描 ...
- [HNOI 2003]消防局的设立
Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来 连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成 ...
- HDU3389 Game
Problem Description Bob and Alice are playing a new game. There are n boxes which have been numbered ...
- Codeforces 812E Sagheer and Apple Tree
大致题意: 给你一颗树,这个树有下列特征:每个节点上有若干个苹果,且从根节点到任意叶子节点的路径长度奇偶性相同. 甲和乙玩(闲)游(得)戏(慌). 游戏过程中,甲乙轮流将任意一个节点的若干个苹果移向它 ...