参考文章
1.需要准备的:apache-tomcat-8.0.3-src 以及apache-ant-1.9.6-bin
2.一开始我将apache-ant-1.9.6-bin放在D盘根目录下并在环境变量中配置:
ANT_HOME --- D:\apache-ant-1.9.6-bin\apache-ant-1.9.6
CLASS_PATH --- D:\apache-ant-1.9.6-bin\apache-ant-1.9.6\lib
Path --- D:\apache-ant-1.9.6-bin\apache-ant-1.9.6\bin
在dos中输入ant -version并没有什么用
最后我将apache-ant-1.9.6-bin放到c盘并更改环境变量,成功了
3.接下来网上教程我就出现问题
(1)将apache-tomcat-8.0.3-src文件夹中的build.properties.default重命名为build.properties,
并且打开它,修改base.path=d:/tomcat/path ( path自己决定)
(1)用dos进入apache-tomcat-8.0.3-src目录,执行命令ant download (并没有成功)
(2)成功之后,再执行命令ant
第一个问题:执行ant命令出现
BUILD FAILEDTarget "download" does not exist in the project "Tomcat 8.0". ant download
最后我是先执行ant 因为ant download会报错 总之我试了几次都上面步骤都不行,只能将就用,最后的output文件夹中里面东西也是全的
第二个出现问题:
BUILD FAILED
d:\tomcat\path\build.xml:2614: The following error occurred while executing this line:
d:\tomcat\path\build.xml:2846: the archive file.tar.gz doesn't exist
有出现上面问题的可以去看http://blog.csdn.net/xiao_hundan/article/details/19960521 会有所帮助
第三个问题,再次执行这步
又跳出问题: [options] 未与 -source 1.7 一起设置引导类路径 (没解决)
(3)完成这些步骤,你会发现apache-tomcat-8.0.3-src目录中多了一个文件:
output文件夹(不完整)(4)进入bin,启动tomcat成功,ant编译tomcat就成功了 --- 我这步没做
4.打开eclipse,新建Java项目Tomcat8
(1)选择apache-tomcat-8.0.3-src中的java和test来个文件夹导入并将其改为source folder
5.接下里就是导入jar包 --- 消除错误
- ant.jar
- jaxrpc.jar
- wsdl4j-1.5.1.jar
- junit.jar
- easymock-3.0.jar
- ecj-4.2.2.jar
如果有没找到的可以到下面地址下
ecj-4.2.2.jar 我是在github上下的
(1)这里面要注意ecj包的问题,一开我导入的是org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar
发现package org.apache.jasper.compiler.JDTCompiler中的方法重写有错误
@Override
public boolean ignoreOptionalProblems() {
return false;
}
(2)查完才知道这是4.X版本中才有的方法
6.启动Tomcat
(1)找到 --- org.apache.catalina.startup包中的Bootstrap
(2)run as:在Arguments的VM arguments中设置-Dcatalina.home="d:\output\build"(注意:在catalina.home指定的目录中,请事先创建conf目录,以及在该目录下放置server.xml文件,否知tomcat启动不起来)
(3)将apache-tomcat-8.0.3-src中的conf文件夹复制到output\build下
(4)运行bootstrap类,成功运行
如果不想做上面的可以到github上,有人已经上传了Tomcat7,直接用就行了 github地址