1、下载tomcat源码。建议下载最新版本tomcat9。

svn地址:http://svn.apache.org/repos/asf/tomcat/tc9.0.x/branches/gsoc-jaspic

2、由于tomcat采用ant编译。故需下载ant。如果已经下载此工具,则直接跳过。

ant下载地址:http://ant.apache.org/bindownload.cgi

3、环境变量设置。把ant的安装目录添加到path里。

4、进入到tomcat的源码目录。我的本地目录就是:E:\Development\tomcat9\gsoc-jaspic。

5、执行命令:ant ide-eclipse.会下载依赖的包。会有点慢。

如果出现如下错误:

(例如:Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip

E:\Development\tomcat9\gsoc-jaspic\build.xml:2839: The following error occurred while executing this line:
E:\Development\tomcat9\gsoc-jaspic\build.xml:2943: java.net.ConnectException: Connection timed out: connect)

这个是因为网络超时造成的。

解决办法:FQ下载objenesis-1.2-bin.zip

(1)复制一份tomcat9 下build.properties.default 文件并重名为build.properties

(2)打开build.properties 修改base.path=E:/Development/tomcat9/repository/tomcat-build-libs  , 在E:/Development/tomcat9/repository 下建一个目录tomcat-build-libs 这个目录是tomcat 在编译是用来保存其依赖的 库文件。

(3)由于在build.properties 中 objenesis.loc=https://objenesis.googlecode.com/files/objenesis-${objenesis.version}-bin.zip 中这个链接无法下载 ,所以为了预防编译是出错 最好先下载objenesis-1.2-bin.zip这个文件。

(4)下载这个文件后, 我为了方便 在机器上起了个tomcat服务 并把这个文件放到了tomcat  下 webapps/ROOT 主目录中 ,那么 可以在build.properties 中修改

objenesis.loc=http://localhost:8088/objenesis-1.2-bin.zip。

(5)再次执行ant ide-eclipse这个时候ant会从http://localhost:8088/下载objenesis-1.2-bin.zip这个文件。

6、这个时候再源码目录就能看到.project,.classpath。

7、打开eclipse。导入源码。

8、修改classpath的jdk路径。另外修改source中的default output folder

9、如发现未编译,可在eclipse里面添加lib变量
导入项目以后你会发现有几个错误导致不能编译,其实是缺少lib变量:
ANT_HOME, 指向ant的安装目录
TOMCAT_LIBS_BASE,指向依赖库的位置,如果你还没有在E:\Development\tomcat9\gsoc-jaspic下执行:ant来build和deploy这个项目,就先执行它。这样它就会下载需要的lib。

NT_HOME和TOMCAT_LIBS_BASE环境变量添加好之后,eclipse会提示你重新build项目,之后就会没有错误了。

10、 右击org.apache.catalina.startup.Bootstrap  Run As -- Java application。它会自动搜索项目中的所有main函数,你选择org.apache.catalina.startup.Bootstrap的main函数就是。 选择好了之后,你也许会看到有tomcat-start和tomcat-stop两个启动项让你选择,在run configuration的配置里面的Common tab里面你还可以设置选中debug,从而你可以在debug菜单下显示它了。弹出下面的框。

11启动好以后你可以打开下面的网址:http://localhost:8080/

原文地址:http://blog.csdn.net/u012921921/article/details/51921377

Tomcat9源码编译及导入Eclipse(转)的更多相关文章

  1. Hadoop,HBase,Zookeeper源码编译并导入eclipse

    基本理念:尽可能的参考官方英文文档 Hadoop:  http://wiki.apache.org/hadoop/FrontPage HBase:  http://hbase.apache.org/b ...

  2. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...

  3. Hadoop2.5.2源码编译及导入Eclipse

    前言:由于官网提供的64位hadoop是没有编译的,所以当我们用到64位的hadoop时,需要在自己的64位linux系统上编译hadoop源码.另外,要想在eclipse里查看hadoop源码,修改 ...

  4. 琐碎-将hadoop源码作为工程导入eclipse

    之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...

  5. spring-framework源码编译及导入

    环境说明: 时间:2017-09-26 OS name: "mac os x", version: "10.12.4", arch: "x86_64& ...

  6. 将Spring源码转换为工程 + 导入Eclipse时缺失jar包

    将源码转换为工程: 比如查看Spring事务部分的源码. 打开cmd窗口,切换到Spring-tx文件夹下,执行命令 “gradle cleanidea eclipse” . 缺失jar包: 第一步: ...

  7. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  8. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  9. IDEA导入tomcat9源码跑起来~

    如题,这里记录一下用IDEA导入tomcat9的源码,并跑起来.看了本教程你还是不会的话直接问我. 一.环境安装以及目录搭建 tomcat9源码下载地址:http://mirrors.hust.edu ...

随机推荐

  1. oracle建库及plsql建表空间的用法

    所有程序—>ORACLE-JHEMR----------->配置和移植工具----->DataBase Configuration Assistant-------中间就需要改一个数 ...

  2. [转]玩转Google开源C++单元测试框架Google Test系列

    gtest的官方网站是: http://code.google.com/p/googletest/ 从官方的使用文档里,你几乎可以获得你想要的所有东西 http://code.google.com/p ...

  3. 原创:整理编辑jQuery全部思维导图【附下载地址】

    主图 全部图已经打包:下载地址 2. 3. 4. 5. 6. 附上一点简单说明 Dom对象和jquer对象之间的转化 如何将一个jquery对象转换为DOM对象? test是一个span元素 var ...

  4. 在Html中使用JavaScript的几点小结

    前言 越发的意识到JS这门作为前端语言的重要性.所以下定决心这段时间在项目允许的情况下花大量时间在学习JS上.争取让自己的前端功底深厚一点. 小结 在包含外部js文件时,必须将src属性设置为指向相应 ...

  5. 深入理解Redis:命令处理流程

    Redis是著名的NoSQL键值数据库服务器,为了保证效率,其数据都缓存在内存中.与Memcached相比,Redis支持的数据类型更多,包括String,List,Set,Zset和Hash.下面简 ...

  6. [示例]NSDictionary编程题-字典的排序应用(iOS6班)

    代码: #import <Foundation/Foundation.h> static NSString * const kName = @"name"; stati ...

  7. js获取URL地址中的GET参数

    var $_GET = (function(){ var url = window.document.location.href.toString(); var u = url.split(" ...

  8. 长理ACM 7-密码破译(闫博钊)

    /* //题目标题: *密码破译(闫博钊) //题目描述: *某组织欲破获一个外星人的密码,密码由一定长度的字串组成.此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度, ...

  9. 移动设备和SharePoint 2013 - 第3部分:推送通知

    博客地址:http://blog.csdn.net/foxdave 原文地址 在该系列文章中,作者展示了SharePoint 2013最显著的新功能概观--对移动设备的支持. 该系列文章: 移动设备和 ...

  10. php 封装分页查询类

    <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...