解决直接通过idea编译运行tomcat源代码
ant方式
ant是一种基于java的build工具,与maven的显著区别是ant的依赖关系需要编写者自己去确定,maven将这个过程自动化了。
安装ant
从apache官网上下载ant,然后环境变量中创建ANT_HOME的路径,将%ANT_HOME%/bin添加到path后面。在cmd中ant -version得到如下图所示,则安装正确:

下载编译运行Tomcat的依赖
通过cmd或powershell在tomcat源码路径下面运行以下命令
1 | ant ide-intellij |
注意:依赖可能下载失败,可以采用浏览器下载,然后放置到
c:/users/登录win的用户名/tomcat-build-libs中。
IDEA配置环境与添加依赖包
配置IDEA中的环境,主要配置
ANT_HOME和TOMCAT_BUILD_LIBS,如下图所示:
项目中加载上一步下载的依赖

注意:在加载依赖过程中需要额外增加一个
ant的jar包,主要用于后续编译使用,如上图圈红部分
IDEA编译Tomcat
在IDEA中将Tomcat源码中的build.xml添加到Ant插件中,并点击Ant deploy进行编译。如下图所示

编译完成后,会在源码路径生成output,则表示编译正常
IDEA运行
在Configuration中添加Application,选择org.apache.catalina.startup.Bootstrap作为启动类,并配置Vm Options参数如下所示

1 | # utf8防止乱码问题 |
然后,你就可以看到那只Cat了!建议采用此种方式,不会有其它各种奇怪问题。
注意:在启动运行中
test文件夹下会有几个类出现找不到类的问题,直接把报错文件删除即可
Maven方式
采用maven方式的本质是用maven来下载依赖,然后使用Tomcat中自带的配置文件与startup.bat。此种方式我只简单的说一下思路与注意点,其主要配置方式网上都有。
下载依赖
通过Maven下载其需要的依赖文件,注意不要直接从网上直接复制对应的依赖jar包。你需要到tomcat源码目录下的build.xml文件中查找对应的依赖,然后用Maven工具下载,否则会出现各种异常问题。
启动Tomcat
新建一个output的文件夹,将源码文件中的bin、conf、webapps、work拷贝到新建文件夹中,没有就新建一个。然后将前面的-Dcatalina.home指向output即可。如果你运气不错的话,那么完全可以看到那只猫
参考: