idea编译、运行tomcat源码

您所在的位置:网站首页 idea怎么设置tomcat编译出来的class idea编译、运行tomcat源码

idea编译、运行tomcat源码

2024-07-14 21:18| 来源: 网络整理| 查看: 265

本文介绍一下tomcat的本地源码构建和源码运行:

tomcat源码下载使用ant构建tomcat,并在本地启动tomcat源码导入idea使用idea构建tomcat,并在本地启动

为后续的tomcat源码阅读做个基础。

环境准备 windows 10java 8+ant 1.9.5+idea 2021.3.3 tomcat源码下载 官网

https://tomcat.apache.org/download-90.cgi

github或gitee git clone https://gitee.com/apache/tomcat.git 选择分支 cd tomcat # 查看一下当前的标签 git tag # 切换分支 git checkout 9.0.9 ant构建tomcat 构建 # This will execute the "deploy" target in build.xml. ant # 或者 ant deploy output目录

使用ant构建之后,文件会被保存到output目录下:

output |-- bnd |-- build |-- bin |-- conf |-- lib |-- logs |-- temp |-- webapps |-- work |-- classes |-- jdbc-pool |-- manifests

build目录下保存的就是我们平时使用的tomcat。

本地运行 cd output/build/bin # 执行启动脚本 startup.bat tomcat源码导入idea

以下步骤:

创建out、lib目录拷贝依赖jarOpen tomcat源码目录配置Project Structure -> JDK及Compiler output目录配置Project Structure -> Modules -> Dependencies参数将java目录Mark as为Source root 创建out、lib目录

out - 用于存放构建文件。

lib - 存放依赖jar文件。

拷贝依赖jar

之前使用ant构建时,ant会下载构建时需要的jar文件(存放在${user.home}/tomcat-build-libs下面),在这里需要将这些文件拷贝到lib目录下:

biz.aQute.bnd-4.0.0.jar biz.aQute.bndlib-4.0.0.jar commons-daemon-1.1.0.jar ecj-4.7.3a.jar

另外需要下载这两个jar文件:

jaxrpc-api-1.1.jar wsdl4j-1.6.3.jar

最后需要把output/build/lib下面的这两个jar文件拷贝过来,用于在运行时编译jsp文件:

jasper.jar jsp-api.jar Open tomcat源码目录 配置JDK及Compiler output目录

在这里插入图片描述

Compiler output配置tomcat/out目录。

配置Dependencies参数

在这里插入图片描述

添加Dependencies参数:

${ant.home}/libtomcat/lib idea构建运行tomcat 构建

Build -> Build Project

创建catalina目录

在tomcat源码目录下创建catalina目录,作为运行tomcat时的catalina.home和catalina.base。

将output/build下面的conf、logs、temp、webapps、work拷贝到catalina目录下:

tomcat |-- catalina |-- conf |-- logs |-- temp |-- webapps |-- work 配置appBase

配置catalina/conf/server.xml文件:

appBase配置catalina/webapps目录,我的环境在C:\workspace\tomcat\catalina\webapps这里。

idea运行源码启动tomcat

在这里插入图片描述

Edit Configurations -> 添加一个Application:

Main Class: org.apache.catalina.startup.Bootstrap VM Options: -Djava.util.logging.config.file=C:\workspace\tomcat\catalina\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -Dcatalina.base=C:\workspace\tomcat\catalina -Dcatalina.home=C:\workspace\tomcat\catalina -Djava.io.tmpdir=C:\workspace\tomcat\catalina\temp Program argument: start


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3