Tomcat源码分析一:源码导入
下载tomcat源码包
从tomcat官网tomcat.apache.org上下载tomcat8.x的源码包apache-tomcat-8.0.32-src.zip http://tomcat.apache.org/download-80.cgi
生成IDE项目
源码包下的ant build.xml中已经包含了生成eclipse项目的target:
<target name="ide-eclipse" depends="download-compile, extras-webservices-prepare, download-test-compile" description="Prepares the source tree to be built in Eclipse">
先安装好ant,这里不讲ant的安装过程。进入源码根目录执行ant命令:
> ant ide-eclipse
这个任务会去下载objenesis jar包,可能会报错由于默认的目标地址是googlecode,无法访问,通过访问外国网站代理先将其下载放到自己的某个服务器上开启nginx,然后修改根目录下的build.properties.default文件,定位到objenesis.loc=
这一行,将其之修改为我服务器上jar包文件的地址比如:http://x.x.x.x/objenesis-${objenesis.version}-bin.zip
,再次执行,成功显示BUILD SUCCESSFUL
接下来在根目录下会生成eclipse项目需要的.classpath,.project等文件。
导入eclipse项目
接下来打开eclipse,file -> import -> Existing Projects into Workspace 选择源码目录导入源码; 导入源码后,项目还会报错,右击项目名,Build Path -> Configure Build Path...
点击Add Variable... 添加两个变量ANT_HOME和TOMCAT_LIBS_BASE,ANT_HOME设置为安装的ant的根目录,TOMCAT_LIBS_BASE设置为执行ant ide-eclipse命令生成的目录,我的是E:usrsharejava
重新编译OK了
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据结构概述
- OSCache页面缓存的使用
- 静态化技术Freemarker
- 递归的编译优化(1)
- JAVA高并发处理------多线程
- 安卓笔记一
- 这样使用df和du命令更完美
- 批处理中的IF详解
- 来,我们一起打造一款代码命名工具
- HTML转PDF工具Wkhtmltopdf安装使用
- 【Vue.js】Vue.js组件库Element中的时间选择器、日期选择器、日期时间选择器和颜色选择器
- 【Vue.js】Vue.js的Chrome浏览器开发插件DevTools的安装步骤
- 训练提速60%!只需5行代码,PyTorch 1.6即将原生支持自动混合精度训练。
- TensorFlow 模型剪枝
- 机器人如何使用 RRT 进行路径规划?