问题描述
最近想写几篇关于jsp底层原理的文章,感觉还是从源码入手比较好。想了想还是从tomcat源码开始吧。从网上找了几篇关于ant的文章看了看,感觉还行,因为编译tomcat必须要了解ant方面的知识的。不说废话了,现在开始。1.在myeclipse6中用SVn从http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_0/checkout出tomcat6源码检出的项目名称为tomcat6,我的工作空间位置是D:myEclipse6Tomcat6_20100429上图是检出源码后的目录,现在并没有lib,share和output这几个个目录,这个目录是编译后才生成的。1.安装ant,这个就不说了网上有的是资料2.把tomcat6这个目录拷贝到一个尽量简单的目录我的是c:tomcat63.复制一份tomcat6下build.properties.default文件并重名为build.properties4.打开build.properties修改base.path=c:/tomcat6/share,在c:tomcat6下建一个目录share这个目录是tomcat在编译是用来保存其依赖的库文件。5.由于在build.properties中jdt.loc=http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip中这个链接已经失效,所以为了预防编译是出错最好先下载eclipse-JDT-3.2.zip这个文件,当时找这个文件可费了一番功夫。在我写这篇文章是的有效链接地址为http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip这个文件将近20M。6.下载这个文件后,我为了方便在机器上起了个tomcat服务并把这个文件放到了tomcat下webappsROOT主目录中,那么可以在build.properties中修改jdt.loc=http://localhost:8080/eclipse-JDT-3.2.zip这是为了防止在编译时再从网上下载我想出的笨办法,如果你的网速快的话可以修改为jdt.loc=http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip这样也行。7.下一步就是编译你的机器上最好装有jdk1.5,最好设有JAVA_HOME这个path,这是为了防止不必要的错误。8.在命令行下键入cdc:tomcat6切换到tomcat6目录中后运行antdownloadAnt会自动把tomcat6所依赖的包下载到c:tomcat6share目录中并自动解压如果提示成功的话,在此可能有好多警告,不必理会。9.如果上诉过程成功的话那么恭喜你了,至少我当时是在上个步骤被折磨的不轻下边继续在命令行中键入ant,开始编译。11.编译成功后把这个目录拷贝到D:myEclipse6Tomcat6_20100429刚开始建的工作空间中并覆盖从svn上down下的代码12.在tomcat6中新建一个文件夹lib用来保存以下文件ant.jar(请在ant安装目录的lib子目录中拷贝)commons-collections-3.1.jar(从刚才Ant下载的commons-collections-3.1子目录中拷贝)commons-dbcp-1.2.1.jar(从刚才Ant下载的commons-dbcp-1.2.1子目录中拷贝)commons-logging-1.1.jar(如果您本机没有这个jar包,请从http://commons.apache.org/downloads/download_logging.cgi处下载)commons-pool-1.2.jar(从刚才Ant下载的commons-pool-1.2子目录中拷贝)org.eclipse.jdt.core_3.2.0.v_671.jar(从刚才Ant下载的eclipseplugins子目录中拷贝)把以上文件拷贝到lib文件夹中,并把这些jar文件加入到tomcat6项目的classpath中13.在myeclipse中选择window-》Preference-》MyEclipse-》server-》tomcat-》Tomcat6.x-》这个过程应该很简单就是平时配置tomcat的过程完成以上过程会在servers视图中出现tomcat6.x然后在org.apache.catalina.startup.Bootstrap的main方法中设几个断点,以debug模式启动tomcat6就可以调试tomcat了。错误处理:Ant错误1downloadzip:[get]Getting:http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip[get]To:D:carl_wutomcatsharefile.zip[get]Erroropeningconnectionjava.io.FileNotFoundException:http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip[get]Erroropeningconnectionjava.io.FileNotFoundException:http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip[get]Erroropeningconnectionjava.io.FileNotFoundException:http://sunsite.informatik.rwth-aachen.de:3080/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.zip[get]Can'tgethttp://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.ziptoD:carl_wutomcatsharefile.zipBUILDFAILEDD:carl_wutomcatsrcbuild.xml:554:Thefollowingerroroccurredwhileexecutingthisline:D:carl_wutomcatsrcbuild.xml:514:Can'tgethttp://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.2-200606291905/eclipse-JDT-3.2.ziptoD:carl_wutomcatsharefile.zip出现这个错误请参照第6和第7步还有其他错误可能是因为你ant安装错误,或jdk安装错误,建议jdk使用1.5并在环境变量中加入JAVA_HOME这个变量,这样出错机会可能小点。以下是我上传的编译后项目的地址,我的文件上传权限只有15m,所以分成了4个文件,下载后解压导入到myeclipse中按照第13步配置后就可以用了http://download.csdn.net/source/2301411这是第一部分http://download.csdn.net/source/2301430第二部分http://download.csdn.net/source/2301442第三部分http://download.csdn.net/source/2301452第四部分本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xuejianxinokok/archive/2010/04/29/5544068.aspx
解决方案
解决方案二:
很佩服楼主,对这都能产生兴趣,学习了。
解决方案三:
写的不错