tomcat源码8.5.50编译 导入idea

2019-12-23  本文已影响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. 添加环境变量和依赖

  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错误的问题

上一篇下一篇

猜你喜欢

热点阅读