探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形;但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生活,你就会发现世界如此美好,我知道的如此的少!
好比,但你看到如下代码
namespace Singleton
{ public class Singleton { private static Singleton singleton;private Singleton() { }public static Singleton GetInstance() { if (singleton == null) { singleton = new Singleton(); } return singleton; } }
}
没错,这就是几行代码,在你还没有接触到什么是单例模式的时候,一个有好奇心的人会按照machine的执行过程走一遍这段代码,一个善于总结的人在理解后还会细细体味这段代码的奥妙之处,如果是一只刚出道的青蛙,或许一面之缘后就是代码眼中过,啥也没有留;相反,你如果深谙单例模式之道,你一眼就看出了这是单例模式,而且还是懒汉式。
说了这么多还是想说一句话:知识面很重要,思考很重要!
正文:言归正传,今天完成了如何Tomcat如何导入到Myeclipse中,以下是自己的操作步骤。
一:版本选型
Tomcat还是选择经常用的Tomcat6,源码下载链接:
http://tomcat.apache.org/download-60.cgi
Ant 选择的版本是1.7(用作编译Tomcat源码使用),下载链接:
http://archive.apache.org/dist/ant/binaries/
Myeclipse版本:8.6
二:获取Tomcat源码
1.将下载好的apache-tomcat-6.0.43-src.zip解压到某文件夹中,如D:\tomcat\apache-tomcat-6.0.43-src
2.使用Ant编译Tomcat源码
2.1配置Ant环境:
计算机-> 右键“属性”->点击“高级系统设置”->选择“高级”选项卡->点击“环境变量”,弹出对话框:
添加Ant_HOME: D:\安装包\apache-ant-1.7.0-bin\apache-ant-1.7.0(我的ant解压在D:\安装包 下)
path: %ANT_HOME%\bin
- 验证Ant配置是否成功
开始->运行->cmd,输入ant -version得到
2.2使用Ant编译Tomcat源码
- 进入源码所在目录:
执行“ant download”命令,下载tomcat依赖的项目
- 执行ant命令,编译成功,界面如下:
这时可以发现目录D:\安装包\apache-tomcat-6.0.43-src下多了个output文件夹,进入bin目录,分别点击startup.bat和shutdown.bat启动和结束tomcat服务。
点击startup.bat,Tomcat成功启动:
三、Myeclipse中导入Tomcat源码
1.新建Java Project,如TSTest
2.右键项目->Import->File System
选中tomcat源码所在文件位置,勾选其中的java和test两个文件夹,Into folder选择当前新建的项目,如图所示:
3.导入如下jar包:
注意,org.eclipse.jdt.core_3.5.2.v_981_R35x.jar可以在Myeclipse安装的目录....\AppData\Local\Genuitec\Common中找到
这样tomcat源码项目就不会报错了。
4.运行tomcat源码
进入org.apache.catalina.startup下的Bootstrap.java类,右键run as->Java Application
发现没有正常启动,控制台信息为:
2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\lib], exists: [false], isDirectory: [false], canRead: [false]
2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\lib], exists: [false], isDirectory: [false], canRead: [false]
2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\conf\server.xml
2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\conf\server.xml
2015-1-25 18:58:06 org.apache.catalina.startup.Catalina start
严重: Cannot start server. Server instance is not configured.
从提示信息可以看出是没有加载server.xml等文件,通过查找发现需要在run as->run Configurations中的VM arguments中添加:
-Dcatalina.home="D:\tomcat\apache-tomcat-6.0.43-src\output\build"(该目录为tomcat源码所在目录)
运行成功,控制台打印信息为:
以前无数次的启动和终止tomcat,数这次最特别,真正的从源码去控制Tomcat服务^_^
如果觉得有用,欢迎点赞,同时欢迎加入左边公告栏群!
本文链接《探秘Tomcat(一)——Myeclipse中导入Tomcat源码》
友情赞助
如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
1. 支付宝 2. 微信
转载于:https://www.cnblogs.com/bigdataZJ/p/TomcatSourceZJ1.html
探秘Tomcat(一)——Myeclipse中导入Tomcat源码相关推荐
- Eclipse中导入第三方源码的问题和备用解决方案
Eclipse中导入第三方源码的问题和备用解决方案 参考文章: (1)Eclipse中导入第三方源码的问题和备用解决方案 (2)https://www.cnblogs.com/fjdingsd/p/4 ...
- 【BLE MIDI】推荐一个 Android 平台开源 MIDI 软件 MidiSheetMusic ( 相关资料 | Android Studio 中导入 Eclipse 源码 )
文章目录 一. MidiSheetMusic 相关资料 二. Android Studio 中导入 MidiSheetMusic 的 Eclipse 源码 一. MidiSheetMusic 相关资料 ...
- (转)在Myeclipse中查看android源码就是这么easy
http://byandby.iteye.com/blog/814277 转载于:https://www.cnblogs.com/hyzhou/p/3217022.html
- android sutdio导入源码教程,《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码...
idegen是Android源码中的一个模块,需要编译一下.生成一个jar包.然后再进行构建生成AndroidStudio配置相关文件. > 什么是idegen 要将Android系统源代码工程 ...
- IDEA(2020.3)导入Spring源码
IDEA导入Spring源码(最新版源码) 博主于2022年4月7日从github中下载spring源码并导入idea(2020.3版本)中,遇到了不少的坑,下面来分享下整个过程. 第一步-下载Spr ...
- 大数据WEB阶段(九)Myeclipse中配置Tomcat并发布项目
在myeclipse配置tomcat ,并将项目发布到tomcat中 一.在myeclipse中配置tomcat 二.发布项目到tomcat中 注意项目名称是自己要发布的项目 , 然后finish . ...
- MyEclipse中导入Spring 4.0源码
到Spring的官网下载开发包,即: ,解压缩后的文件目录如下: 在MyEclipse的编辑窗口,按 Ctrl + Shift + T 打开查看源代码窗口,输入你想查找的类,如下图所示: 当你点击OK ...
- myeclipse中启动tomcat是报错如下: Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/contex
myeclipse中启动tomcat是报错如下: Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/context ...
- Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)
Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) 参考文章: (1)Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) (2)https://www.cn ...
最新文章
- linux下eaccelerator,memcache,memcached安装
- Asp.net 性能监控之压测接口“卡住” 分析
- [Android]动态加载/热部署框架汇总
- 三剑客之sed常用操作
- 我敢打赌,这世界没有python数据分析解决不了的问题
- Android客户端与服务器之间传递json数据
- lua虚拟机字节码修改_LUA虚拟机的字节码怎么看?
- 2.2线性表的顺序表示和实现
- python datetime to timestamp_python timestamp和datetime之间转换详解
- c语言基础符号,C语言符号大全。陆续更新基础知识给新人提供。(申精)
- Hashtable--练习题44:把繁体字转换为简体字
- Logistic Regression(LR) 算法原理简介
- python中如何调取wind数据_Python量化-使用wind接口获取数据
- 整车CAN网络基本结构
- 神武服务器物品开放,《神武4》宠物携带等级规则调整限服测试 生存大挑战等玩法优化全服开放...
- Linux 打包可执行文件
- LeetCode 1658. 将 x 减到 0 的最小操作数
- 经纬度与长度距离转换
- USB MIC从识别到选择的流程framework层记录
- matlab中画的图导出高分辨率图片的方法