Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >将tomcat源码导入eclipse

将tomcat源码导入eclipse

作者头像
SecondWorld
发布于 2018-03-14 05:26:48
发布于 2018-03-14 05:26:48
1.6K0
举报
文章被收录于专栏:Java开发者杂谈Java开发者杂谈

前言:

写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题。因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务器,而且用的也是socket通信。所以特别想看下tomcat是如何处理这些问题的。

主要步骤:

1. 去apache官网下载对应的tomcat版本源码(我这里下载的是9.0.0.M9)  http://tomcat.apache.org/download-90.cgi

2. 解压后的源码是没法作为工程直接导入eclipse的。需要使用ant进行编译,所以这里需要去ant官网下载ant对应版本。http://ant.apache.org/bindownload.cgi

然后配置ANT_HOME、path、classpath。

3. 在解压后的tomcat源码的根路径打开控制台,并且输入 ant ide-eclipse进行编译。此时会下一堆依赖的jar包。这些jar包下载到的路径可以通过打开跟路径下build.properties.default文件中的base.path指定,默认的值为${user.home}/tomcat-build-libs。其实在C:\Users\Administrator\tomcat-build-libs路径下。这里为了将下载下来的依赖的jar包放到tomcat源码路径,修改base.path为E:/SourceCode/Code/tomcat/apache-tomcat-9.0.0.M9-src/build-libs。

4. 如果用的是最新版本的tomcat源码,那么在编译的过程中可能会出现:[get] Error getting https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip  的错误。这个很明显是天朝防火墙造成的。我这里将下载到的上传到了下面百度云的地址: http://pan.baidu.com/s/1c2oO0so。下载完成之后,我们可以修改该文件的下载地址为本地,修改后格式如下:

# ----- objenesis, used by EasyMock, version 1.2 or later ----- objenesis.version=1.2 objenesis.home=${base.path}/objenesis-${objenesis.version} objenesis.loc=http://localhost:8080/objenesis-${objenesis.version}-bin.zip objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar

这样指定文件的下载地址为本地。我们只需将下载到的jar包放到本地tomcat的 webapps/ROOT目录中,然后启动tomcat服务器即可。当然更简便的方法,我们其实可以直接删掉这一段要执行的过程,然后将下载到的zip包直接解压到前面重新指定的base.path路径下。这样会发现多了一个objenesis-1.2目录,并且目录下有3个jar包。

最后我们只要再重新执行一次 ant ide-eclipse,保证build success即可。

5. 在eclipse中导入对应的项目源码跟路径,可以发现此时eclipse可以将其作为一个工程导入了。导入进去一般还会存在编译错误。这时候需要考虑3个build path的设置:

一是jre的版本以及java compile的版本

二是ANT_HOME的设置:具体步骤如下图

三是设置TOMCAT_LIBS_BASE,步骤同上,最后选择的路径就是base.path配置的路径。

6.在eclipse中clean整个工程,这时候应该可以编译成功。然后找到BootStrap.java类,作为java程序运行。运行成功之后就可以通过: http://localhost:8080/ 访问了。

至此,可以通过debug逐步分析tomcat运行过程了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形;但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生活,你就会发现世界如此美好,我知道的如此的少!   好比,但你看到如下代码 namespace Singleton { public class Singleton { private static Singleton singleton; priva
JackieZheng
2018/01/15
9090
探秘Tomcat(一)——Myeclipse中导入Tomcat源码
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-prepar
囚兔
2018/02/08
1.1K0
Tomcat源码分析一:源码导入
tomcat源码研究之源码导入eclipse
版本:8.5.x 官网:https://tomcat.apache.org/svn.html 1. 下载源码,git镜像:https://github.com/apache/tomcat85 。 2. 导入项目到eclipse: (1)假设源码目录为tomcat85 (2)在eclipse中新建项目:New -> Java Project,项目名称设置为与tomcat源码目录名一致即可:tomcat85。 3. 参考源码目录下BUILDING.txt文件,配置相应编译环境。
编程随笔
2019/09/11
6120
Tomcat源码篇-构建源码编译环境
  工欲善其事必先利其器,为了学好Tomcat源码,我们需要先在本地构建一个Tomcat的运行环境。
用户4919348
2022/04/13
8510
Tomcat源码篇-构建源码编译环境
【Tomcat10】:掌握编译、调试 Tomcat 的技能嘛?
注意1:如果你遇到报错“ Failed to parse date string ...”
WEBJ2EE
2021/09/24
1K0
【Tomcat10】:掌握编译、调试 Tomcat 的技能嘛?
tomcat学习|通过tomcat源码启动web项目
上一波,我们学习了tomcat 中主要接口的方法及关系: https://www.lixiang.red/articles/2019/08/12/1565622240937.html 实际上源码只通过看,也差不多只能看到这个地步了,后面就一直看的话,就很容易乱,有句话说:实践出真知 今天我们就一起通过tomcat源码,来启动我们日常的web应用,在中间,可以debug , 可以更好的看到整个过程
微笑的小小刀
2019/08/26
2K0
tomcat学习|通过tomcat源码启动web项目
什么?编译了三个版本Tomcat源码后,我才发现这个bug
一产品是基于多模块开发的 SpringBoot 项目,发布时导出多个 war 包部署在同一个 Tomcat 。模块有五六个,发布时最大的问题就是每个包都很大,主要是各个模块的 WEB-INF/lib 下包含大量相同 jar ,因此有必要将公共包摘出来放到 Tomcat 的共享目录下。
烂猪皮
2021/04/02
5740
Tomcat原理剖析-tomcat介绍和源码idea构建
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。
程序猿川子
2022/08/10
8140
什么?编译了三个版本Tomcat源码后,我才发现这个bug
一产品是基于多模块开发的 SpringBoot 项目,发布时导出多个 war 包部署在同一个 Tomcat 。模块有五六个,发布时最大的问题就是每个包都很大,主要是各个模块的 WEB-INF/lib 下包含大量相同 jar ,因此有必要将公共包摘出来放到 Tomcat 的共享目录下。
Java程序猿阿谷
2021/03/02
8100
什么?编译了三个版本Tomcat源码后,我才发现这个bug
震惊!我三步就搞定了 Tomcat 源码环境搭建!
随着微服务的流行,轻量级的服务应用器也是跟着大火了。毕竟那些企业级的服务应用器部署搭建成本太高。并且springboot 自带的就是 tomcat 服务。
程序员爱酸奶
2020/07/23
1.5K0
震惊!我三步就搞定了 Tomcat 源码环境搭建!
【Tomcat源码解析】第一章:如何搭建源码阅读环境
在解压的目录下新建一个home目录,并将conf、webapps目录移入home 目录中.
诺浅
2020/08/20
3930
深入调试tomcat源码
这篇文章写给那些像我想研究tomcat源码的朋友,下面直接进入正题:
johnhuster的分享
2022/03/29
7700
深入调试tomcat源码
轻松构建Tomcat源码
下载链接:https://tomcat.apache.org/download-80.cgi#8.5.35
沁溪源
2020/09/02
9290
tomcat源码编译和环境搭建(r5笔记第83天)
关于tomcat源码的编译和环境搭建自己也是拖了一段时间,今天还是硬着头皮来做一做,还是有所收获。 tomcat源码的编译还是首选ant,作为apache的顶级项目ant,可以参见下面的链接进行下载,下载一个二进制运行包即可。http://ant.apache.org/bindownload.cgi然后就需要在path中配置了。简单的校验C:\Users\jeanron>ant -versionApache Ant(TM) version 1.9.5 compiled on May 31 2015 然后下载
jeanron100
2018/03/16
1.1K0
tomcat源码编译和环境搭建(r5笔记第83天)
Eclipse 实用技巧
本文介绍了Eclipse中如何设置代码智能提示,包括Java、JavaScript、HTML、XML以及其它类型的文件。通过安装插件、配置相关参数、检查并清理无效的索引,可以增强Eclipse的代码智能提示功能。同时,还介绍了如何设置JavaDoc的路径,以及如何使用JD-Eclipse插件进行反编译。
静默虚空
2018/01/05
9890
Eclipse 实用技巧
Tomcat-4.部署
部署(Deployment):将Web应用(第三方的WRA文件,或者自己定制的Web应用)安装到Tomcat服务器上的过程。
悠扬前奏
2019/05/28
6760
tomcat-搭建源码阅读环境
源码下载位置:https://tomcat.apache.org/download-80.cgi
逍遥壮士
2022/06/15
3450
tomcat-搭建源码阅读环境
Tomcat - 源码构建Tomcat 8.5.55 启动
https://tomcat.apache.org/download-80.cgi
小小工匠
2021/08/17
1.8K0
Ubuntu 14.04下Hadoop Eclipse 环境配置教程
学习Hadoop有两天了,配置Hadoop到环境也用了两天,将自己在Ubuntu 14.04下Hadoop Eclipse 环境配置过程写在这里,希望对大家有所帮助!
星哥玩云
2022/07/01
6040
Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建
6.SVN安装   参考之前写的博客地址:http://www.cnblogs.com/zyw-205520/p/4598091.html 到此Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建完成  如果疑问欢迎评论
一朵灼灼华
2022/08/05
2980
相关推荐
探秘Tomcat(一)——Myeclipse中导入Tomcat源码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档