maven项目导入tomcat7源码
大家好,今天给大家分享对于tomcat源码在eclipse上的导入运行。此次为以tomcat7为例。
1去官网tomcat7的下载页面下载源码网址http://tomcat.apache.org/download-70.cgi,选择对应系统的源码,window选择zip,*nux选择tar.gz下载。博主为win7系统,选择的为zip源码下载。
2将下载的源码解压,解压结果如下
3在eclipse中,新建一个maven,在创建过程中,选择webapp的模式,如下图。
创建maven项目结果截图如下
此目录不完整,需要添加src/main/java和 src/test/java两个文件夹。
4将解压的源码的java文件夹下面的所有的文件拷到maven项目的java文件夹下,test拷到test文件夹下面,将整个webapps文件夹拷到maven项目的根目录,对于conf文件夹也做同样的操作。文件夹考完后的结果如下图所示
5此时项目还报错,需要引入jar,依赖如下(请看评论)
添加到pom中,项目基本不报错了,报错的是test的,可以无需关心。
6启动tomcat,选中项目,右键>>run as>>Java Application,在弹出的一系列的类中,选择org.apache.catalina.startup.Bootstrap。
会出现下面的问题,不管他,直接执行。
7 解决异常。直接运行会产生java.lang.ClassNotFoundException: listeners.ContextListener异常,如下图所示
原因在于,刚才拷贝的webapps文件夹中的examples项目,删除此文件夹,重启。在浏览器中输入http://127.0.0.1:8080/ ,出现下面的页面,ok,大功告成。
现在可以开始去一步步调试tomcat源码了。
maven项目导入tomcat7源码的更多相关文章
- eclipse 导入tomcat7源码
导入tomcat的源码其实说简单也不简单,说不简单也简单,主要还是环境问题,中间花费了我很多时间,网上找了很多都没什么用,参考一些文章,然后自己慢慢摸索出来的. 环境:(1)jdk:jdk1.6.0_ ...
- Eclipse导入Hadoop源码项目及编写Hadoop程序
一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...
- Hadoop1.x目录结构及Eclipse导入Hadoop源码项目
这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...
- 【Tomcat】使用Eclipse运行Tomcat7源码
1.搭建开发环境 a.下载好tomcat7源码包 b.安装好jdk7,及设置好环境变量 c.安装好ant,及设置好环境变量,用于预编译tocmat源码. d.以上步骤准备好我们就可以开始进入源码的预编 ...
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生 ...
- [tomcat7源码学习]初始化之catalina.home和catalina.base(转)
我们在代码中为了获取某个配置文件路径下的文件经常会这么写 String tomcatPath = System.getProperty("catalina.home") + &qu ...
- Tomcat7源码环境搭建
一.下载Tomcat7源码 从官网上下载Tomcat源码, http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/src/apache-t ...
- 关于导入geoserver 源码到Eclipse编译运行
参考http://blog.csdn.net/gisshixisheng/article/details/43016443 和 http://blog.sina.com.cn/s/blog_6e37 ...
- spring源码学习(一):eclipse导入spring源码
前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...
随机推荐
- sql server 2012提示:评估期已过 的解决办法 附序列号
sql server 2012提示评估期已过的解决方法: 第一步:进入SQL2012配置工具中的安装中心. 第二步:再进入左侧维护选项界面,然后选择选择版本升级. 第三步:进入输入产品密钥界面,输入相 ...
- css cursor 的可选值(鼠标的各种样式)
crosshair; 十字准心 The cursor render as a crosshair游标表现为十字准线 cursor: pointer; cursor: hand;写两个是为了照顾IE5, ...
- eclipse为方法添加注释的快捷键是什么
/** * 登录验证 * @param 传入的vo类 * @return * @throws Exception */这种注释快捷键? 先敲“/”在敲两个**,然后回车
- bootstrap的下载
http://files.cnblogs.com/files/eeroom/bootstrap3.3.zip http://files.cnblogs.com/files/eeroom/Bootstr ...
- [SHELL] 修改xml的内容
解析和修改xml用python比较方便,但如果不方便使用python,可以用sed命令简单替换 例如,欲替换下面一行中的端口号的值: <param name="ftpPort" ...
- 第K大数
控制数据箱(box.c/cpp/pas)[题目大意]现在给你一个数据箱,支持以下操作,加入元素,第 n次查询操作求当前情况下的第 n 大数.比如说,第 3 次查询操作求第三小的数.当然查询操作的给出方 ...
- 更新UI界面的四种方法
一.runOnUiThread(new Runnable()): 二.Handler的sendMessage()系列: 三.Handler的post(): 四.View的post():
- 区分苹果Safari浏览器
区分苹果Safari浏览器 (function() { var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua ...
- Ubuntu 下使用declare的问题
Ubuntu在shell的执行上用户root和普通用户是不一样的. 使用vi /etc/passwd 我们就可以看到在用户的最后一行也就是定义shell执行位置的地方root的位置是/bin/bash ...
- 【转】java中volatile关键字的含义
java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言 ...