解决直接通过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
即可。如果你运气不错的话,那么完全可以看到那只猫
参考: