tomcat源码导入eclipse步骤
1. 获取源代码
方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tomcat源代码,选择source code 方式下载
方式二:利用svn获取源代码,先安装svn,再新建目录tomcat7, 接着在目录里执行以下命令
- svn co http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_35/ ./
tags目录下有不同版本的tomcat 源码,这里下载的版本是7.0.35
2. 将源码导入eclipse
ide-eclipse,该命令执行成功后,会在tomcat7目录下生产.project和.classpath两个文件,即成为eclipse工程
了。这样你就可以将tomcat源码导入eclipse了。
- BUILD FAILED build.xml:2361: The following error occurred while executing this line:
- BUILD FAILED build.xml:2449: Compile failed; see the compiler error output for details.
查看编译的错误日志为:
- build-tomcat-dbcp:
- [copy] Copying 64 files to E:\usr\share\java\tomcat7-deps\dbcp
- [move] Moving 64 files to E:\usr\share\java\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp
- [javac] Compiling 64 source files to E:\usr\share\java\tomcat7-deps\dbcp\classes
- [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
- [javac] E:\usr\share\java\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\dbcp\BasicDataSource.java:53: error: Bas
- icDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
- [javac] public class BasicDataSource implements DataSource {
- [javac] ^
- [javac] E:\usr\share\java\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\dbcp\DelegatingStatement.java:46: error:
- DelegatingStatement is not abstract and does not override abstract method isCloseOnCompletion() in Statement
- [javac] public class DelegatingStatement extends AbandonedTrace implements Statement {
- [javac] ^
- [javac] E:\usr\share\java\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\dbcp\DelegatingPreparedStatement.java:57
- : error: DelegatingPreparedStatement is not abstract and does not override abstract method isCloseOnCompletion() in Stat
- ement
根据日志错误推测,依赖的dbcp相关的jar版本不对。本机安装的jdk版本是1.7的,于是在本机又装了一个1.6的jdk,并修改相关环境变量让JAVA_HOME指向jdk 1.6目录。再次执行ant ide-eclipse得到了
Total time: 2 minutes 57 seconds
- build-tomcat-dbcp:
- [copy] Copying 64 files to E:\usr\share\java\tomcat7-deps\dbcp
- [move] Moving 64 files to E:\usr\share\java\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp
- [javac] Compiling 64 source files to E:\usr\share\java\tomcat7-deps\dbcp\classes
- [javac] 注意:某些输入文件使用或覆盖了已过时的 API。
- [javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
- [javac] 注意:某些输入文件使用了未经检查或不安全的操作。
- [javac] 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
- [jar] Building jar: E:\usr\share\java\tomcat7-deps\dbcp\tomcat-dbcp.jar
- [jar] Building jar: E:\usr\share\java\tomcat7-deps\dbcp\tomcat-dbcp-src.jar
因此,该问题可总结为:tomcat源码依赖的jdk版本为1.6及其以下,使用jdk1.7会导致构建失败。
3. 在build path里添加jar包,解决编译问题
- import javax.xml.rpc.Service;
- import javax.xml.rpc.ServiceException;
- import javax.wsdl.Definition;
- import javax.wsdl.Port;
- import javax.wsdl.extensions.ExtensibilityElement;
- import javax.wsdl.extensions.soap.SOAPAddress;
- import javax.wsdl.factory.WSDLFactory;
- import javax.wsdl.xml.WSDLReader;
这些类。本机依然缺少jar包,百度了下发现缺少一个web service的开发工具包 axis-bin-1_4.zip。 下载后,添加到build path里解决。
4. 运行
tomcat源码导入eclipse步骤的更多相关文章
- Tomcat源码导入eclipse的步骤
Tomcat源码导入eclipse 一.下载源码 1. 进入Apache 官网:http://tomcat.apache.org/ 2. 在左边侧选择要下载的源码的版本. 3. 或者直接通过Ar ...
- tomcat源码导入eclipse
1. 获取源代码 方式一:从官网http://tomcat.apache.org/download-70.cgi 直接下载,官网提供了Binary 和 Source Code两种下载方式,要研究tom ...
- Tomcat源码导入Eclipse测试
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...
- 将tomcat源码导入eclipse
前言: 写完了socket小应用的原始版本,中间还有好多预想的功能没有实现,在写的过程中也发现了很多问题.因为前面有粗略的看过tomcat实现原理解析,知道tomcat其实也是纯java写的web服务 ...
- jmeter源码导入eclipse步骤
1.新建标准java项目2.右击项目选import filesystem 将apache-jmeter-4.0整个目录勾选allow output folders for source folders ...
- Tomcat源码分析----eclipse中搭建源码环境
前提:JDK,至少1.7,ant,要设置ANT_HOME环境变量,需要再classpath中增加ant的lib目录,在path变量中增加ant的bin目录 1.官网下载tomcat源码包:apache ...
- 将struts源码导入eclipse
预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤. 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/downlo ...
- 如何将OpenTSDB源码导入eclipse
OpenTSDB的官网上介绍了如何将OpenTSDB源码导入eclipse,官方链接,但步骤超级繁琐,还有一个简便方法,下面以导入OpenTSDB2.0.0为例. 1. 下载OpenTSDB2.0.0 ...
- 将Android源码导入eclipse中的方法以及编译Android源码指定模块
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53365659 将android源码导入eclipse.androidstudio. ...
随机推荐
- some software that is used to speed up your system
1.RAMDISK take some space in ram and use them as the disk. Primo Ramdisk Server Edition 5.6.0 regist ...
- URL 中#号,? ,&的作用 (摘抄整理 链接为学习地址)
1. 一峰的网络日志:http://www.ruanyifeng.com/blog/2011/03/url_hash.html get: 1.页面滚动到指定页面的指定位置 (eg: http://ww ...
- nginx+tomcat负载均衡+动静分离+redis集中管理session
1.服务器A安装ng,服务器B.C安装tomcat: 2.服务器A建立/data/www目录,用于发布静态文件: 3.ng无动静分离配置: user root root; worker_process ...
- bodybuilding
增大肌肉块的14大秘诀:大重量.低次数.多组数.长位移.慢速度.高密度.念动一致.顶峰收缩.持续紧张.组间放松.多练大肌群.训练后进食蛋白质.休息48小时.宁轻勿假. 1. 大重量.低次数:健美理论中 ...
- The C++ Standard Library --- A Tutorial Reference 读书笔记
5.2 Smart Pointer(智能指针) shared_ptr的aliasing构造函数,接受一个shared pointer和一个raw pointer.它允许你掌握一个事实:某对象拥有另一个 ...
- 使用ResourceBundle访问资源文件(properties)帮助类
import java.util.ResourceBundle; /** * 读取properties文件的帮助类 * @author */ public class PropertiesUtil { ...
- python:Xml
<data> <country name="Liechtenstein"> <rank updated="yes">2< ...
- 每日一九度之 题目1030:毕业bg
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2046 解决:894 题目描述: 每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”.参加不同团体的b ...
- c语言中各个类型的sizeof长度
#include <stdio.h> int main() { printf("\nA Char is %lu bytes", sizeof( char )); ...
- 【转】SVN建库方法
转载地址:http://blog.csdn.net/winonatong/article/details/5791919 SVN全名Subversion,即版本控制系统.SVN与CVS一样,是一个跨平 ...