zoukankan      html  css  js  c++  java
  • Tomcat源码导入eclipse的步骤

    Tomcat源码导入eclipse

    一、下载源码

    1、  进入Apache 官网:http://tomcat.apache.org/

    2、  在左边侧选择要下载的源码的版本。

     

    3、  或者直接通过Archives进入源码目录

     

    4、  源码目录如图,选择需要的版本,

     

    5、  进入相应的源码目录下载相应的源码,我的演示下载的是8.026版本的源码。

    二、ANT编译源码

    如果没安装ant,请先安装ant,ant是一款编译工具。

    编译步奏:

    1、  解压源码压缩包

     

    2、  设置依赖包的下载位置,把上步解压的目录中的build.properties.default的文件名去掉后缀default,即重命名为build.properties。在build.properties文件中找到base.path配置项,把该配置项的值改为你希望依赖包下载后存放的位置路径。

     

    3、  Ctrl+R打开CMD窗口,进入第一步解压的后的目录:apache-tomcat-8.0.26-src,

    4、  运行命令:ant download,该命令会下载tomcat编译所需要的包。不知道什么原因,我执行这一步并没有成功(应该不需要执行这一步,但网上的很多资料都介绍了这一步),但是不要着急,继续下一步。

     

    5、  运行命令:ant,运行该命可能会花一定的时间,因为这一步需要下载一些依赖包,这些依赖包可能在国外的服务器上,所以下载比较慢,同时还需要编译,编译是比较耗时的。在这一步如果命令运行到某处长时间不动了,可以通过Ctrl+C退出,然后重新运行ant命令;如果编译失败,可以重新运行ant命令编译,直到提示编译成功。

     

     

    6、  编译成功后会在目录:apache-tomcat-8.0.26-src,多出一个新的名字为output的目录。这就是存放编译结果的目录。

     

    三、导入tomcat源码到eclipse

    1、  在eclipse下新建一个project。命名为tomcat8

     

    2、  把解压目录中的java和test两个源码目录import到新建的tomcat8工程中。注:两个目录不能同时import。

     

     

     

    3、  把java和test两个目录标记为source folder,右键选择文件夹->Build Path->Use as Source Folder。标记为source folder后两个代码目录都出现了错误。这是因为缺少依赖包。

    4、导入依赖包:
    ant.jar:在你安装的ant目录:ANT_HOME/lib下。
    jaxrpc.jar:在eclipse下的/plugin/ javax.xml.rpc_xxx(版本号)/lib/目录下。
    org.eclipse.jdt.core_3.10.2.v20150120-1634.jar:在eclipse的plugin目录下。Eclipse版本不同,名字可能不同。
    wsdl4j-1.5.1.jar:可以从网上下。
          右键tomcat8->Build Path->Configuration Build Path。导入上面的几个包,java目录下就没有错了,如果test目录下还有错,可以注释掉错误的文件。

    
    

    5、  经过上面的步骤,找到org.apache.catalina.startup下的Bootstrap启动tomcat源码,这是不成功。因为当前项目路径下没有lib和conf这两个文件夹,从而找不到服务器配置文件server.xml,当然也就不能实例化服务器了。解决方法:

    a、  把前面编译生成的output目录下的/build/下的lib和conf两个目录拷贝到tomcat下,这时就可以直接启动了。

    b、  二种方法就是添加VM参数,指定这两个文件夹的具体路径,用VM的-D参数指定catalina.home属性值为具体的路径,具体方法如下:

    Run as -> Run Configuration... - > Arguments -> VM arguments中设置:

    -Dcatalina.home=” E:JavaTomcatapache-tomcat-8.0.26-srcoutputuild”,然后Run就可以启动了。

     

     

     

     

  • 相关阅读:
    介绍一款jquery ui组件gijgo(含tree树状结构、grid表格),特点:简易、文档全清晰易懂、示例代码
    【未完待续】API接口
    表单中Readonly和Disabled的区别:readonly在get和post可传值到后端,disabled不可
    Newtonsoft.Json 转换DateTime类型为字符串时,串内部会有一个T。解决方案
    一种历史详细记录表,完整实现:CommonOperateLog 详细记录某用户、某时间、对某表、某主键、某字段的修改(新旧值
    js return falsee.preventDefault() 以及session
    bootstrape学习
    Redis的PHP操作手册
    PHP表单常用正则表达式(URL、HTTP、手机、邮箱等)
    大型网站架构演化
  • 原文地址:https://www.cnblogs.com/dlutfengyu/p/5346080.html
Copyright © 2011-2022 走看看