最近很想看看tomcat容器当中到底做了哪些事情,于是就去Apache上将tomcat的源码下下来了,看看tomcat到底是如何工作的。下面就说一下将tomcat项目导入eclipse。
1、配置ant
前期工作需要把要使用的工具ant(下载地址http://ant.apache.org/bindownload.cgi)配置好。将ant下载下来以后,直接解压就可行了。但还是需要配置环境变量的,呵呵。直接将解压后ant的bin目录配置到path中就行了。例如我解压的路径为:D:\apache-ant,那么直接在path中添加 ;D:\apache-ant\bin(注意,前面有个分号)就行了,这样添加就是方便,但假如你ant的移动到其他地方了,还要在path中修改,很麻烦。因此,一般都是新建一个ANT_HOME变量,其值设置为你的ant的路径,然后在path中添加 ;%ANT_HOME%\bin。这样就OK了,测试直接打开cmd命令,然后输入ant -v,就能看到你ant的版本信息了。
2、导入eclipse
将项目导入eclipse之前,我们还要将源码的依赖包下载下来。这里就需要使用ant了。
首先将tomcat源码下载下来,解压。在根目录我们可以看到有一个build.properties.default文件。将其更名为build.properties,打开,找到base.path=….;并将其改为该文件的目录+/output。当然,你也可以随便写什么路径,只要你能找到就行。
打开cmd,将进入tomcat源码的根目录,输入ant 命令(这个可能会花一点时间),如图:
这样,我们的依赖包就下好了,下面就开始我们的正题了。将项目导入eclipse中。新建一个java Project,然后将tomcat源码下的java和test两个文件夹以File System方式导入项目的根目录,导入后,右键java包–>Build Path–>Use as Source Folder。接下来就是添加依赖,导入依赖包:
ant.jar:在你安装的ant目录:ANT_HOME/lib下。
jaxrpc.jar:在eclipse下的/plugin/ javax.xml.rpc_xxx(版本号)/lib/目录下。
org.eclipse.jdt.core_3.10.2.v20150120-1634.jar:在eclipse的plugin目录下。
wsdl-1.6.2.jar:也在eclipse的plugins目录下。
test还需要添加以下包:
Junit:我添加的是junit4。
easymock-3.4:直接到官网下下来就可以了。
右键tomcat8->Build Path->Configuration Build Path。导入上面的几个包。对于tomcat8.5.8,可能TestCookieFilter类还会报错,这是因为CookieFilter类找不到,我们上面的输出目录output\build\webapps\examples\WEB-INF\classes\util中,就能找到这个类了。将其复制到TestCookieFilter的包下就OK了。
最后,我们运行时还需要配置vm参数:在Run Configuration里面配置如下:
设置vm参数:-Dcatalina.home=”源码的路径\output\build”
现在我们就可以启动Tomcat了。运行了以后,在浏览器上输入http://localhost:8080/,就能访问到我们熟悉的Tomcat首页了。