tomcat ----> 源码关联/编译/....
今天在搞Servlet时想看下tomcat Servlet-API.jar的源码,按照惯性思维用以往关联SSH2框架的源码的方式去做但是结果没有成功,尝试过换不同的文件夹,起初怀疑可能是路径太深关联不到,~~可能想太多了,无论怎样换就是不行。还有怀疑过可能是tomcat的版本问题,因为关联的版本是7.0.82的,可能有太新了,有冲突,所以呢在网上搜了一下找到7.0.55的src包,网址放在这里共享--->http://archive.apache.org/dist/tomcat/。结果还是不行。好了,继续百度,找到了线索,想要看到源码需要用到ant。
ant的下载链接如左---> http://ant.apache.org/bindownload.cgi。
安装方法:
1、解压apache-ant-1.10.1-bin.zip--->apache-ant-1.10.1-bin文件夹
2、把apache-ant-1.10.1-bin文件夹中的apache-ant-1.10.1文件夹拷贝到你想要放置的盘
3、配置环境变量:ANT_HOME D:\SoftInstall\apache-ant-1.10.1
在path中最后添加 ;%ANT_HOME%\bin
4、测试,打开cmd,在命令行中输入ant –version后按enter,成功的话显示ant的版本号Apache Ant(TM) version 1.10.1 compiled on February 2 2017
输入ant后按enter,显示 Buildfile: build.xml does not exist! Build failed
安装好ant后,参考了旺友们eclipse关联源码的文章,最终没有成功,特此用此文记录。
另解:直接在eclipse中建立以apache-tomcat-7.0.55-src命名的java工程,然后导入src文件夹的所有内容,把java文件夹和test文件夹右击选择Build path的use as source folder,然后报错,直接删除test文件夹,再新建一个src包,修改报错文件,截图如下:

ICompilationUnit.java文件添加如下的抽象方法:

CompilerOptions.java文件添加如下字符串:(本人用的是jdk 1.8.x)

运行一下java文件,tomcat可以启动。

2018-11-03 20:31:19
编译Tomcat源码
环境:jdk1.6.31,ant1.9.13,window7,Tomcat7.0.91
注意ant.apache.org官网上ant的版本和jdk版本的说明,如果使用1.10.x去编译,而且jdk是6,那么会出现“Unsupported major.minor version 52.0” 的错误。

再注意当使用jdk1.8去编译tomcat7.0.91源码时会提示错误:build-tomcat-dbcp出错,最终build fail。
所以选择了组合jdk1.6.31+ant1.9.13+Tomcat7.0.91。最后编译成功。

所以选择安装两个jdk和两个ant。因为之前安装了jdk1.8_172和ant1.10.x。
安装多个版本的软件时,每个版本的软件设置为不同的环境变量,比如JAVA_HOME1和JAVA_HOME2,然后通过一个JAVA_HOME环境变量来控制选择哪个版本的软件,当需要启动第一个软件时,我们可以设置环境变量成AVA_HOME = %AVA_HOME1%。跟电路中的切换开关的原理一样,切换开关可以控制哪条路有电流通过。
编译结果:跟下载的Tomcat是一样的目录,除了work目录以下部分。


启动Tomcat???
tomcat ----> 源码关联/编译/....的更多相关文章
- Tomcat源码分析一:编译Tomcat源码
Tomcat源码分析一:编译Tomcat源码 1 内容介绍 在之前的<Servlet与Tomcat运行示例>一文中,给大家带来如何在Tomcat中部署Servlet应用的相关步骤,本文将就 ...
- Tomcat源码组织结构
Tomcat 源码组织结构 目录结构 这里所介绍的目录结构,是使用CATALINA-BASE变量定义的路径,如果没有通过配置多个CATALINA-BASE目录来使用多实例,则CATALINA-BASE ...
- Tomcat 源码分析(转)
本文转自:http://blog.csdn.net/haitao111313/article/category/1179996 Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件 ...
- eclipse导入tomcat源码
我的开发环境:windows7 64位 一.官网下载tomcat源码.在此奉上一站地址:http://archive.apache.org/dist/tomcat/: 二.编译源码生成.jar文件: ...
- Tomcat源码导入eclipse的步骤
Tomcat源码导入eclipse 一.下载源码 1. 进入Apache 官网:http://tomcat.apache.org/ 2. 在左边侧选择要下载的源码的版本. 3. 或者直接通过Ar ...
- 75篇关于Tomcat源码和机制的文章
75篇关于Tomcat源码和机制的文章 标签: tomcat源码机制 2016-12-30 16:00 10083人阅读 评论(1) 收藏 举报 分类: tomcat内核(82) 版权声明:本文为 ...
- Eclipse导入Tomcat源码(转)
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...
- Tomcat源码分析
前言: 本文是我阅读了TOMCAT源码后的一些心得. 主要是讲解TOMCAT的系统框架, 以及启动流程.若有错漏之处,敬请批评指教! 建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, ...
随机推荐
- Ubuntu 18.04.1更改屏幕分辨率
- 什么是pear的channel?
从pear看程序的组成: 可执行命令文件: /usr/bin/pear, pearcmd peardev等; 实现功能的库,函数等文件: /var/lib/pear 等... 程序的资源目录, 主要是 ...
- SP6779 GSS7
GSS7解题报告 前言 唔,有点恶心哪,废了两个多小时debug 思路 很容易看出傻子都知道,这个是树链剖分+线段树的裸题,只不过是恶心了点,这里重点讲一下细节问题 线段树 做过GSS系列的都应该很熟 ...
- IAR中的 identifier "FILE" is undefined 问题
最近由于希望使用IAR的printf()函数方便进行打印字符,出现IAR报错,即:identifier "FILE" is undefined,问题得以解决. (1)进行pr ...
- Windows Service application 初步探索
今天写了一个windows service程序, 本身这个程序是一个console application, 但是不能够通过F5直接运行, 会出现下面图片所示的错误: 提示说需要安装一个Instalu ...
- Nuget 打包 for .Net Standart project
Create .NET Standard packages with Visual Studio 2015 Publishing packages nuge.exe 放在项目目录中 nuget spe ...
- 51nod 1069 Nim游戏 + BZOJ 1022: [SHOI2008]小约翰的游戏John(Nim游戏和Anti-Nim游戏)
首先,51nod的那道题就是最简单的尼姆博弈问题. 尼姆博弈主要就是判断奇异局势,现在我们就假设有三个石子堆,最简单的(0,n,n)就是一个奇异局势,因为无论先手怎么拿,后手总是可以在另一堆里拿走相同 ...
- arcgis api for js 之发布要素服务
1. 引言 如果我们要在网页端实现要素的增删改查操作,需要使用到要素服务(FeatureService),本篇文章将介绍如何发布要素服务. 1.1 什么是要素服务 在发布之前,我们先了解下要素服务:要 ...
- 为DataGridView增加鼠标滚轮功能
#region 鼠标滚动 [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "Wi ...
- Perl CGI编程
http://www.runoob.com/perl/perl-cgi-programming.html 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Ga ...