美文网首页
tomcat源码8.5.50编译 导入idea

tomcat源码8.5.50编译 导入idea

作者: 捞月亮的阿汤哥 | 来源:发表于2019-12-23 12:38 被阅读0次

    本篇文章将说下如何将tomcat的8.5版本源码导入到idea中, 然后启动容器。

    1. 下载tomcat 8.5.50源码,可以去github下也可以去tomcat的官网下载src版本,我是从github下载,链接如下:
      github: https://codeload.github.com/apache/tomcat/zip/8.5.50
      官网: http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/src/apache-tomcat-8.5.50-src.zip

    2. 将下载下来的解压,将build.properties.default复制一份,重新命名为build.properties


      截屏2019-12-23下午12.30.29.png
    1. 编辑build.properties,看下如下配置项:
    base.path=${user.home}/tomcat-build-libs
    

    这个配置是告诉tomcat将build时的依赖下到哪里,默认是如上路径,比如我的就没改这个配置,就放在了/Users/zihao/tomcat-build-libs下,按需配置,非必需

    1. 安装ant,可以下载二进制包https://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.9.14-bin.zip
      或者brew install ant

    2. 执行如下命令

    ant ide-intellij
    

    备注: 如果下载了ant的二进制包,ant可以添加环境变量或者使用ant的绝对路径

    可以打开build.xml文件,ant ide-intellij这个命令对应如下配置项目

    <target name="ide-intellij"
              depends="download-compile, extras-webservices-prepare, download-test-compile"
              description="Creates project directory .idea for IntelliJ IDEA">
    
        <copy todir="${tomcat.home}/.idea">
          <fileset dir="${tomcat.home}/res/ide-support/idea"/>
        </copy>
    
        <echo>IntelliJ IDEA project directory created. Please create PATH VARIABLES for
    
          ANT_HOME          = ${ant.home}
          TOMCAT_BUILD_LIBS = ${base.path}
        </echo>
      </target>
    
    
    1. 上一步执行完后,打开idea,直接打开这个项目, 内容大概是和下面那个图一样:


      截屏2019-12-23下午12.16.44.png
    2. 添加环境变量和依赖

    • 添加环境变量
      第一次打开的时候,idea会提示"Load error: undefined path variables",打开Preference,找到Path Variables,添加ANT_HOME和TOMCAT_BUILD_LIBS


      截屏2019-12-23下午1.23.26.png
    • 添加依赖
      打开project structure-->libraries,添加依赖,这些依赖可以在base.path找到,ant的lib需要自己额外下载下,直接去mvn repository下一个添加进来就好。


      截屏2019-12-23下午1.27.00.png
    1. 侧边有个Ant, 一只蚂蚁的tab页,点击打开,添加build.xml位置


      截屏2019-12-23下午12.18.43.png
    2. 展开Tomcat 8.5,执行deploy任务
      选中deploy,然后点击上面的绿色按钮执行。


      截屏2019-12-23下午12.22.08.png

    10.deploy执行完后,可以看到下载的tomcat源码目录下的output下添加了一个build文件夹,这个对应第10步中catalina.home的路径


    截屏2019-12-23下午12.34.13.png
    1. org.apache.catalina.startup.Bootstrap这个是tomcat的启动类,Vm.options添加如下运行配置


      截屏2019-12-23下午12.24.21.png

    Vm.options具体内容如下:

    -Dfile.encoding=UTF8 -Dcatalina.home="/Users/zihao/Documents/code/Java/github/tomcat-8.5.50/output/build" -Duser.language=en -Duser.region=US
    

    -Duser.language=en -Duser.region=US这两句话不加可能执行会乱码,可以去掉试下会不会乱码,😊

    1. 最后执行启动这个Bootstrap类,访问localhost:8080就有了那只🐱的界面


      截屏2019-12-23下午12.26.39.png
    2. 感谢如下链接:
      https://www.shuzhiduo.com/A/pRdBP8XPJn/ 解决了我乱码问题
      https://www.cnblogs.com/wasp520/archive/2012/07/01/2572223.html
      解决了我启动时报SessionListener错误的问题

    相关文章

      网友评论

          本文标题:tomcat源码8.5.50编译 导入idea

          本文链接:https://www.haomeiwen.com/subject/gzjznctx.html