• 探秘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: omcatapache-tomcat-6.0.43-src

      2.使用Ant编译Tomcat源码

        2.1配置Ant环境:

      •     计算机-> 右键“属性”->点击“高级系统设置”->选择“高级”选项卡->点击“环境变量”,弹出对话框:

        

        添加Ant_HOME:    D:安装包apache-ant-1.7.0-binapache-ant-1.7.0(我的ant解压在D:安装包 下)

        path:   %ANT_HOME%in 

                

     

      •   验证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安装的目录....AppDataLocalGenuitecCommon中找到

      这样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:UsersAdministratorWorkspacesMyEclipse 8.6TSTestlib], exists: [false], isDirectory: [false], canRead: [false]
    2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile
    警告: Problem with directory [D:UsersAdministratorWorkspacesMyEclipse 8.6TSTestlib], 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:UsersAdministratorWorkspacesMyEclipse 8.6TSTestconfserver.xml
    2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load
    警告: Can't load server.xml from D:UsersAdministratorWorkspacesMyEclipse 8.6TSTestconfserver.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: omcatapache-tomcat-6.0.43-srcoutputuild"(该目录为tomcat源码所在目录)

      运行成功,控制台打印信息为:

      

      以前无数次的启动和终止tomcat,数这次最特别,真正的从源码去控制Tomcat服务^_^

      如果觉得有用,欢迎点赞,同时欢迎加入左边公告栏群!

           本文链接《探秘Tomcat(一)——Myeclipse中导入Tomcat源码

    友情赞助

    如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。

        1. 支付宝                          2. 微信

                          

  • 相关阅读:
    bzoj1042: [HAOI2008]硬币购物(DP+容斥)
    bzoj3680: 吊打XXX(模拟退火)
    bzoj1867: [Noi1999]钉子和小球(DP)
    iOS怎样获取任何App的资源图片?
    iOS常用第三方库
    iOS应用上架报错解决
    iOS视频直播用到的协议
    iOS开发常用第三方框架
    iOS 打包Framework包含其他Framework的问题
    http和https的区别
  • 原文地址:https://www.cnblogs.com/bigdataZJ/p/TomcatSourceZJ1.html
Copyright © 2020-2023  润新知