Tomcat9源码编译及导入Eclipse(转)
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(转)的更多相关文章
- Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档 Hadoop: http://wiki.apache.org/hadoop/FrontPage HBase: http://hbase.apache.org/b ...
- Tomcat8源码编译及导入Eclipse中研究
最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...
- Hadoop2.5.2源码编译及导入Eclipse
前言:由于官网提供的64位hadoop是没有编译的,所以当我们用到64位的hadoop时,需要在自己的64位linux系统上编译hadoop源码.另外,要想在eclipse里查看hadoop源码,修改 ...
- 琐碎-将hadoop源码作为工程导入eclipse
之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...
- spring-framework源码编译及导入
环境说明: 时间:2017-09-26 OS name: "mac os x", version: "10.12.4", arch: "x86_64& ...
- 将Spring源码转换为工程 + 导入Eclipse时缺失jar包
将源码转换为工程: 比如查看Spring事务部分的源码. 打开cmd窗口,切换到Spring-tx文件夹下,执行命令 “gradle cleanidea eclipse” . 缺失jar包: 第一步: ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- IDEA导入tomcat9源码跑起来~
如题,这里记录一下用IDEA导入tomcat9的源码,并跑起来.看了本教程你还是不会的话直接问我. 一.环境安装以及目录搭建 tomcat9源码下载地址:http://mirrors.hust.edu ...
随机推荐
- 一些Shell命令
lsof -nP -itcp:8080 查看本机8080端口在被什么应用占用,可以查看此应用对应的pid. netstat -ant|grep 8081 查看本机8081端口的使用情况. telnet ...
- curl,chkconfig
1. Linux系统服务管理 工具ntsysv 类似图形界面管理工具,如果没有该命令使用 yum install -y ntsysv 安装 常用服务:crond, iptables, network, ...
- 获取手机通讯录放入PinnedSectionListView中,按名字首字母排序,并且实现拨打电话功能。
package com.lixu.tongxunlu; import java.util.ArrayList; import com.lixu.tongxunlu.PinnedSectionListV ...
- SQL is null函数
Sql ISNULL() 函数 使用指定的替换值替换 NULL. 语法 ISNULL ( check_expression , replacement_value ) 参数 check_exp ...
- P142-1
P142-1.1 登录页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- sdut 2609 A-Number and B-Number
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2609 数位DP 以前没怎么做过,自己憋了半天, ...
- 前端相关技术之ajax相关
AJAX技术点 async javascript and xml:异步的js和xml,用js异步去操作xml ajax用于数据交互,不能操作DOM –节省用户操作,时间,提高用户体验,减少数据请求 – ...
- 神奇的Noip模拟试题一试 2 排队
2 排队 (lineup.pas/.c/.cpp) [问题描述] 小sin所在的班有n名同学,正准备排成一列纵队,但他们不想按身高从矮到高排,那样太单调,太没个性.他们希望恰好有k对同学是高的在前,矮 ...
- CSS Hack及常用的技巧
何谓CSS Hack? 不同的浏览器,比如Internet Explorer 6.Internet Explorer 7. Mozilla Firefox对CSS的解析认识不一样,因此会导致生成的页面 ...
- ctime、atime
Linux系统文件有三个主要的时间属性,分别是ctime(change time, 而不是create time), atime(access time), mtime(modify time).后来 ...