前提:JDK,至少1.7,ant,要设置ANT_HOME环境变量,需要再classpath中增加ant的lib目录,在path变量中增加ant的bin目录

1.官网下载tomcat源码包:apache-tomcat-8.0.53-src.zip

下载之后,解压,可以看到BUILDING.txt,这个文件里面就是说明编译tomcat源码的详细步骤。

2.拷贝build.properties.default文件,重命名为build.properties

3.编辑build.properties文件,设置base.path=E:/tomcat-build-libs(目录自己设置,用来存放ant下载的依赖包)

4.进入源码目录,执行ant,进行编译。可能编译不成功,没关系,在打印信息中找到BUILD FAILED,在这句打印信息上面有get 。。。。move to 语句,讲get后面的地址复制到浏览器手动下载,下载之后放到前面设置的base.path目录中并解压,然后再次执行ant命令

5.执行ant ide-eclipse命令(会生成.classpath和.project文件),同样可能会build falied,没关系,按照4的步骤手动下载,唯一需要注意的是当下载cglib-nodep-2.2.3.jar这个jar包之后,再base.path的目录中新建一个目录cglib-2.2.3,然后将这个cglib的jar包放进去,然后再次执行ant ide-eclipse就可以了。

6.打开eclipse,再window-preference中设置如下:

增加ANT_HOME和TOMCAT_LIBS_BASE这两个变量,为什么需要设置这两个变量?看自动生成的.classpath文件就知道了,因为.classpath文件中需要引用这两个变量

7.使用import导入这个项目即可

8.最后找到Bootstrap.java这个启动类,执行run application即可。

Tomcat源码分析----eclipse中搭建源码环境的更多相关文章

  1. [Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境

    网上很多文章都推荐使用Ant下载编译,但本地实践中屡屡失败,无法下载. 后来参考 https://blog.csdn.net/xiongyouqiang/article/details/7894107 ...

  2. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

    上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...

  3. 在Eclipse中搭建C/C++环境

    在Eclipse中搭建C/C++环境 本文地址:http://blog.csdn.net/you_and_me12/article/details/7389934 习惯了使用eclipse编程后,现在 ...

  4. [转]在Eclipse中搭建Python开发环境

    在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...

  5. 在Eclipse中搭建Python开发环境

    在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...

  6. OSGI企业应用开发(三)Eclipse中搭建Equinox运行环境

    上篇文章介绍了如何在Eclipse中搭建Felix的运行环境,我们需要將Bundle发布到Felix框架的bundle目录下,Felix框架启动时才会自动加载这些Bundle,否则需要在Felix框架 ...

  7. 在Eclipse中搭建Android开发环境

    忙活了两天多的时间,终于在Eclipse中成功搭建了Android开发环境,着实不易啊!! 原本我用的编译器是MyEclipse的,但是从网上找不到如何在MyEclipse中搭建环境,于是乎就换了Ec ...

  8. Eclipse中搭建Android开发环境

    一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...

  9. Eclipse中搭建Python开发环境

    转载:http://www.cnblogs.com/realh/archive/2010/10/04/1841907.html Eclipse+PyDev环境搭建 1.准备工作 JDK6 Java 开 ...

随机推荐

  1. Android反复闹钟(每天)的实现

    MainActivity例如以下: package cc.cc; import java.util.Calendar; import java.util.Locale; import android. ...

  2. Swift基础一(代码)

    import Foundation println("Hello, World!") var string1 = "Hello BeiJing" //定义一个变 ...

  3. URL传参中文乱码的一种解决方法

    中文乱码是由于,发送和接收方使用的编码解码格式不一致导致,以下是关于url传参解决中文乱码的一种方法,最后根据各种编码格式尝试解码,发现正确的解码格式 string strQueryString = ...

  4. 不等式数列 DP

    度度熊最近对全排列特别感兴趣,对于1到n的一个排列,度度熊发现可以在中间根据大小关系插入合适的大于和小于符号(即 '>' 和 '<' )使其成为一个合法的不等式数列.但是现在度度熊手中只有 ...

  5. 安全相关的head头

    与安全相关的head头包括 参考网站:https://developer.mozilla.org/en-US/docs/Web/HTTP Content-Security-Policy(CSP):禁止 ...

  6. 浏览器同部署了https的服务器交互的过程

    1 浏览器发起https请求 2 https服务器发送自己的公钥给浏览器 3 浏览器用https服务器发送过来的公钥加密一个用于双方通信的的对称密码 4 https服务器用自己的私钥解密,获取对称密码 ...

  7. GoodUI:页面布局的技巧和设计理念

    http://goodui.org/ 中文翻译:http://www.cnblogs.com/Wayou/p/goodui.html 一年了,小小少年从幼年期过渡到成长期要开始加速冲刺了.毕竟钻头就是 ...

  8. XMU C语言程序设计实践(2)

    任务一:颠倒的世界 小明最近突然喜欢倒着写字,写出来的句子全是颠倒的,也就是把一句话里的字符全都逆序写,譬如“I Love This Game!”,他就偏偏要写成“!emaG sihT evoL I” ...

  9. 函数 devm_kzalloc()【转】

    本文转载自:http://blog.csdn.net/jgw2008/article/details/52691568 函数 devm_kzalloc() 和kzalloc()一样都是内核内存分配函数 ...

  10. AutoIT: WinSetState可以定义窗口大小

    Example() FuncExample() ; Run Notepad Run("notepad.exe") ; Wait seconds for the Notepad wi ...