背景:
最近研究了一下如何将tomcat8导入到eclipse中,看了网上很多的文章,虽然有借鉴意义,但是存在很多的错误。
准备工作:
安装ant编译器:http://ant.apache.org/bindownload.cgi(要配置环境变量)
右击我的电脑->属性->高级系统设置->环境变量
添加如下环境变量:
下载tomcat8源代码:https://tomcat.apache.org/download-80.cgi(下载sources版本的)
或者:https://github.com/yunchangwang/tomcat8-(已经编译好的)
编译:
启动cmd,切换到tomcat源代码路径下,执行ant(不需要先执行ant download),因为编译依赖的jar包是用url连接好了的,编译完成会在当前目录下出现output->build目录,目录等级与tomcat二进制版本的相同。(从github上下载的可以忽略这步,但是相对的要学习一下git)
检查是否编译成功:
将build目录下的bin和build目录配置成tomcat启动的环境变量
启动bin目录下的startup.bat,访问http://localhost:8080/成功则显示tomcat默认页面
导入:
打开eclipse,点击file->import,选择File System,将tomcat源码下的java和test文件加载,然后右击文件夹Build Path->Use as Sources Folder,之后一定会报错,因为没有引入编译相关的jar包。
修改编译错误:
ant.jar,jaxrpc.jar,org.eclipse.jdt.core-3.10.0.jar,wsdl4j-1.6.3.jar,easymock-3.4.jar,junit(eclipse里面已经自带了,但是还是要手动加载)
以上是需要下载的jar包。(建议版本要高一点)
github上已经有相关的jar包了,不需要下载了(但是要学git哦)
无法修改的错误:
加入编译的依赖包之后还是会有错误:
version-1.9.0 cant't be resolve(和org.eclipse.jdt.core-3.10.0.jar有关,进入到里面查看只有version-1.8.0,下载高版本的应该就行了)
最麻烦的是CookieFilter的错误报告,笔者始终没有找到具有这个类的jar包(但是不影响启动)
启动:
将编译过的目录下的conf和lib文件夹复制到工程中
Ctrl+shift+t查询Bootstrap类,执行就行了,成功的话在console中会显示启动时间,这种方式启动访问http://localhost:8080/也不会跳出页面(工程中没有webapps目录下的页面可以加载)