今天在搞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 ----> 源码关联/编译/....的更多相关文章

  1. Tomcat源码分析一:编译Tomcat源码

    Tomcat源码分析一:编译Tomcat源码 1 内容介绍 在之前的<Servlet与Tomcat运行示例>一文中,给大家带来如何在Tomcat中部署Servlet应用的相关步骤,本文将就 ...

  2. Tomcat源码组织结构

    Tomcat 源码组织结构 目录结构 这里所介绍的目录结构,是使用CATALINA-BASE变量定义的路径,如果没有通过配置多个CATALINA-BASE目录来使用多实例,则CATALINA-BASE ...

  3. Tomcat 源码分析(转)

    本文转自:http://blog.csdn.net/haitao111313/article/category/1179996 Tomcat源码分析(一)--服务启动 1. Tomcat主要有两个组件 ...

  4. eclipse导入tomcat源码

    我的开发环境:windows7  64位 一.官网下载tomcat源码.在此奉上一站地址:http://archive.apache.org/dist/tomcat/: 二.编译源码生成.jar文件: ...

  5. Tomcat源码导入eclipse的步骤

    Tomcat源码导入eclipse 一.下载源码 1.  进入Apache 官网:http://tomcat.apache.org/ 2.  在左边侧选择要下载的源码的版本. 3.  或者直接通过Ar ...

  6. 75篇关于Tomcat源码和机制的文章

    75篇关于Tomcat源码和机制的文章 标签: tomcat源码机制 2016-12-30 16:00 10083人阅读 评论(1) 收藏 举报  分类: tomcat内核(82)  版权声明:本文为 ...

  7. Eclipse导入Tomcat源码(转)

    想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...

  8. 探秘Tomcat(一)——Myeclipse中导入Tomcat源码

    前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...

  9. Tomcat源码分析

    前言: 本文是我阅读了TOMCAT源码后的一些心得. 主要是讲解TOMCAT的系统框架, 以及启动流程.若有错漏之处,敬请批评指教! 建议: 毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, ...

随机推荐

  1. Codeforces 711D Directed Roads - 组合数学

    ZS the Coder and Chris the Baboon has explored Udayland for quite some time. They realize that it co ...

  2. overture里设置踏板标记

    在学习如何设置踏板标记之前,我们先来了解什么是踏板标记.踏板标记一般是使用在乐谱上,众所周知,钢琴有三个踏板,每个踏板的作用都不一样:右边的踏板称为“延音踏板”,是用来延长琴弦振动的时间,使音延长的效 ...

  3. Jbarcode 条形码生成工具

    一.准备jar包 https://sourceforge.net/projects/jbcode/?source=typ_redirect 二.编写工具类 package com.example.de ...

  4. 同时import两个版本的QtQuick【1、2】,默认使用

    在同一个qml文件中,如果同时import了Qtquick1和2,那么谁在后面,谁起作用

  5. Ground Defense【不知道叫啥可能就是枚举】

    问题 G: Ground Defense 时间限制: 1 Sec  内存限制: 128 MB 提交: 116  解决: 22 [提交] [状态] [命题人:admin] 题目描述 You are a ...

  6. bzoj4709 柠檬 单调栈,DP,斜率优化

    目录 前言吐槽 思路 错误 代码 /* 前言吐槽 我真的不知道是咋做的 不过大约就是栈的斜率优化 哪位大佬见识广,给看看吧(乞讨) 思路 s是值等于a[i]的前缀和 转移方程$f[i]=max(f[i ...

  7. Run tomcat on port 80 not 8080

    How to run Tomcat on Port 80 A standard Tomcat installation starts the webserver on port 8080 – whic ...

  8. P3605 [USACO17JAN]Promotion Counting晋升者计数

    思路 线段树合并的板子.. 和子节点合并之后在值域线段树上查询即可 代码 #include <cstdio> #include <algorithm> #include < ...

  9. P2522 [HAOI2011]Problem b

    还有三倍经验的吗(窒息) 思路 其实就是P3455套了个简单的容斥 把问题转化成f(n,m,k)-f(a-1,m,k)-f(n,b-1,k)+f(a-1,b-1,k)就可以了 和p3455几乎一样的代 ...

  10. Python 编码规范 PEP8

    1 Introduction Guido 的核心思想是:对于代码而言,相比于写,它更多是被用来读的.这个指导旨在使Python代码更易读,且具有更强的协调性. 2 A Foolish Consiste ...