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

  好比,但你看到如下代码

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源码相关推荐

  1. Eclipse中导入第三方源码的问题和备用解决方案

    Eclipse中导入第三方源码的问题和备用解决方案 参考文章: (1)Eclipse中导入第三方源码的问题和备用解决方案 (2)https://www.cnblogs.com/fjdingsd/p/4 ...

  2. 【BLE MIDI】推荐一个 Android 平台开源 MIDI 软件 MidiSheetMusic ( 相关资料 | Android Studio 中导入 Eclipse 源码 )

    文章目录 一. MidiSheetMusic 相关资料 二. Android Studio 中导入 MidiSheetMusic 的 Eclipse 源码 一. MidiSheetMusic 相关资料 ...

  3. (转)在Myeclipse中查看android源码就是这么easy

    http://byandby.iteye.com/blog/814277 转载于:https://www.cnblogs.com/hyzhou/p/3217022.html

  4. android sutdio导入源码教程,《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码...

    idegen是Android源码中的一个模块,需要编译一下.生成一个jar包.然后再进行构建生成AndroidStudio配置相关文件. > 什么是idegen 要将Android系统源代码工程 ...

  5. IDEA(2020.3)导入Spring源码

    IDEA导入Spring源码(最新版源码) 博主于2022年4月7日从github中下载spring源码并导入idea(2020.3版本)中,遇到了不少的坑,下面来分享下整个过程. 第一步-下载Spr ...

  6. 大数据WEB阶段(九)Myeclipse中配置Tomcat并发布项目

    在myeclipse配置tomcat ,并将项目发布到tomcat中 一.在myeclipse中配置tomcat 二.发布项目到tomcat中 注意项目名称是自己要发布的项目 , 然后finish . ...

  7. MyEclipse中导入Spring 4.0源码

    到Spring的官网下载开发包,即: ,解压缩后的文件目录如下: 在MyEclipse的编辑窗口,按 Ctrl + Shift + T 打开查看源代码窗口,输入你想查找的类,如下图所示: 当你点击OK ...

  8. myeclipse中启动tomcat是报错如下: Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/contex

    myeclipse中启动tomcat是报错如下: Caused by: java.lang.NoClassDefFoundError: Lorg/springframework/web/context ...

  9. Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决)

    Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) 参考文章: (1)Myeclipse中导入项目后java类中汉字注释出现乱码问题(已解决) (2)https://www.cn ...

最新文章

  1. linux下eaccelerator,memcache,memcached安装
  2. Asp.net 性能监控之压测接口“卡住” 分析
  3. [Android]动态加载/热部署框架汇总
  4. 三剑客之sed常用操作
  5. 我敢打赌,这世界没有python数据分析解决不了的问题
  6. Android客户端与服务器之间传递json数据
  7. lua虚拟机字节码修改_LUA虚拟机的字节码怎么看?
  8. 2.2线性表的顺序表示和实现
  9. python datetime to timestamp_python timestamp和datetime之间转换详解
  10. c语言基础符号,C语言符号大全。陆续更新基础知识给新人提供。(申精)
  11. Hashtable--练习题44:把繁体字转换为简体字
  12. Logistic Regression(LR) 算法原理简介
  13. python中如何调取wind数据_Python量化-使用wind接口获取数据
  14. 整车CAN网络基本结构
  15. 神武服务器物品开放,《神武4》宠物携带等级规则调整限服测试 生存大挑战等玩法优化全服开放...
  16. Linux 打包可执行文件
  17. LeetCode 1658. 将 x 减到 0 的最小操作数
  18. 经纬度与长度距离转换
  19. USB MIC从识别到选择的流程framework层记录
  20. matlab中画的图导出高分辨率图片的方法

热门文章

  1. PHP Learning every day
  2. exchange和域得命名
  3. 中科院的java_java 中调用中科院分词系统
  4. 事物的开始和结束命令分别是什么_AutoCAD小秘密065:LOFT命令,创建天圆地方
  5. Nacos源码覆盖实例列表
  6. SpringSecurity关闭csrf拦截
  7. Tomcat和Jetty对WebSocket的支持
  8. 带你从源码了解SpringBoot启动流程
  9. AQS.transferForSignal
  10. mybatis-批量插入