1、下载tomcat源码。建议下载最新版本tomcat9。
svn地址:http://svn.apache.org/repos/asf/tomcat/tc9.0.x/branches/gsoc-jaspic
2、由于tomcat采用ant编译。故需下载ant。如果已经下载此工具,则直接跳过。
ant下载地址:http://ant.apache.org/bindownload.cgi
3、环境变量设置。把ant的安装目录添加到path里。
4、进入到tomcat的源码目录。我的本地目录就是:E:\Development\tomcat9\gsoc-jaspic。
5、执行命令:ant ide-eclipse.会下载依赖的包。会有点慢。
如果出现如下错误:
(例如:Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip
E:\Development\tomcat9\gsoc-jaspic\build.xml:2839: The following error occurred while executing this line:
E:\Development\tomcat9\gsoc-jaspic\build.xml:2943: java.net.ConnectException: Connection timed out: connect)
这个是因为网络超时造成的。
解决办法:FQ下载objenesis-1.2-bin.zip
(1)复制一份tomcat9 下build.properties.default 文件并重名为build.properties
(2)打开build.properties 修改base.path=E:/Development/tomcat9/repository/tomcat-build-libs , 在E:/Development/tomcat9/repository 下建一个目录tomcat-build-libs 这个目录是tomcat 在编译是用来保存其依赖的 库文件。
(3)由于在build.properties 中 objenesis.loc=https://objenesis.googlecode.com/files/objenesis-${objenesis.version}-bin.zip 中这个链接无法下载 ,所以为了预防编译是出错 最好先下载objenesis-1.2-bin.zip这个文件。
(4)下载这个文件后, 我为了方便 在机器上起了个tomcat服务 并把这个文件放到了tomcat 下 webapps/ROOT 主目录中 ,那么 可以在build.properties 中修改
objenesis.loc=http://localhost:8088/objenesis-1.2-bin.zip。
(5)再次执行ant ide-eclipse这个时候ant会从http://localhost:8088/下载objenesis-1.2-bin.zip这个文件。
6、这个时候再源码目录就能看到.project,.classpath。
7、打开eclipse。导入源码。
8、修改classpath的jdk路径。另外修改source中的default output folder
9、如发现未编译,可在eclipse里面添加lib变量
导入项目以后你会发现有几个错误导致不能编译,其实是缺少lib变量:
ANT_HOME, 指向ant的安装目录
TOMCAT_LIBS_BASE,指向依赖库的位置,如果你还没有在E:\Development\tomcat9\gsoc-jaspic下执行:ant来build和deploy这个项目,就先执行它。这样它就会下载需要的lib。
NT_HOME和TOMCAT_LIBS_BASE环境变量添加好之后,eclipse会提示你重新build项目,之后就会没有错误了。
10、 右击org.apache.catalina.startup.Bootstrap Run As -- Java application。它会自动搜索项目中的所有main函数,你选择org.apache.catalina.startup.Bootstrap的main函数就是。 选择好了之后,你也许会看到有tomcat-start和tomcat-stop两个启动项让你选择,在run configuration的配置里面的Common tab里面你还可以设置选中debug,从而你可以在debug菜单下显示它了。弹出下面的框。
11启动好以后你可以打开下面的网址:http://localhost:8080/
原文地址:http://blog.csdn.net/u012921921/article/details/51921377