Tomcat6 源码编译过程全过程

问题描述

最近想写几篇关于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

解决方案

解决方案二:
很佩服楼主,对这都能产生兴趣,学习了。
解决方案三:
写的不错

时间: 2024-07-29 19:12:52

Tomcat6 源码编译过程全过程的相关文章

android4 3-Android4.3源码编译过程中出错

问题描述 Android4.3源码编译过程中出错 虚拟机Ubuntu12.04 64bit 编译Android4.3过程中出现以下问题: make: *** 没有规则可以创建"out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/mterp/out/InterpAsm-x86.o"需要的目标"dalvik/vm/mterp/out/InterpAsm-x86.S". 停止. 源码在ubuntu12.

Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

25.集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有NameNode / DataNode YARN集群: 负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager 25.1.2服务器准备 本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本: ü Vmware 11.

Android安卓源码编译链接库问题 undefined reference 贴过程图

问题描述 Android安卓源码编译链接库问题 undefined reference 贴过程图 参考了网上的 Android.mk写法, 各种方法添加了lib 还是 报缺失的问题. 请赐教 参考了网上的 Android.mk写法, 各种方法添加了lib 还是 报缺失的问题. 请赐教

源码编译MySQLCluster7.2.15安装过程

1 Download the cluster tar.gz wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.15.tar.gz MySQL Cluster 7.2.15 Select Version: 下拉框选择 7.2.15 Select Platform: 下拉框选择 Source Code 然后再下面连接一栏里面选择: Generic Linux (Architecture In

Tomcat 8源码编译及导入Eclipse中研究

最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译步骤1.1 先到Apache Tomcat 8.0官网下载最新版Source Code Distributions,解压到某个目录下,如D:\apache-tomcat-8.0.5-src 1.2 使用ant编译 (1)安装ant 如果机器上已经安装了ant可以省略这一步,否则去ant官网下载最新版

源码编译安装MySQL5.6.10最佳实践

  1安装cmake MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具. 因此,我们首先要在系统中源码编译安装cmake工具. # wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz # tar zxvf cmake-2.8.7.tar.gz # cd cmake-2.8.7 # ./configure # make # make install 1.1cmake命令语法 1.

编译android3.4内核源码编译错误

问题描述 编译android3.4内核源码编译错误 drivers/built-in.o: In function trace_mmc_blk_rw_end':/home/cy/android/kernel/common/include/trace/events/mmc.h:82: undefined reference to__tracepoint_mmc_blk_rw_end'drivers/built-in.o: In function mmc_do_erase':/home/cy/and

Hive源码编译及阅读修改调试

下载编译 在git上下载合适的master分支,使用maven编译.执行编译的目的在于,确保过程中生成的代码(Thrift)已经生成,这样导入IDEA就不会出现有些类找不到的情况. 执行源码编译分发命令,进入源码根目录执行: mvn clean package -Phadoop-2 -DskipTests -Pdist  这里必须指定profile为hadoop-2来支持hadoop 2.x版本 1.后续更改完源码后,还需执行该命令来编译打包.源码更改后需评价其对Hive各模块的影响(改动代码多

React Native Android入门实战及深入源码分析系列(2)——React Native源码编译

本文为老曾原创,转载需注明出处:http://blog.csdn.net/minimicall?viewmode=contents 在上一节中,我们通过一个相册的制作来学习了React Native编写.这一节我们需要开始学习React Native的源码. 学习源码,从编译源码开始. 首先,我们需要把代码从github中克隆下来. https://github.com/facebook/react-native.git 然后,我们可以切换到它的稳定分支,2016-03-30是我的操作时间,这个