当前位置: 网学 > 编程文档 > 其他类别 > 正文

Tomcat7调试运行环境搭建与源代码分析入门

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12

1. 需要准备好下面这些工具

JDK 1.6+

Maven 2或3

TortoiseSVN 1.7+ (从1.7开始”.svn”目录集中放在一处了,不再每个目录下都放一份)

Eclipse 3.5+

这4个工具不在这里描述怎么配置了,如果你是有两三年开发经验的Java开发人员,正常来讲都一直在用了。

另外,分析tomcat源代码不需要对这4个工具做什么特殊配置。

2. 下载Tomcat的源代码

Apache旗下的开源项目基本上都放在这: /uploadfile/201301/12/3112265194.jpg" width="740" height="487" />

目前tomcat有4个大分支:

5.5 : http://svn.apache.org/repos/asf/tomcat/tc5.5.x

6.0 : http://svn.apache.org/repos/asf/tomcat/tc6.0.x

7.0 : http://svn.apache.org/repos/asf/tomcat/tc7.0.x

8.0 : http://svn.apache.org/repos/asf/tomcat/trunk

5.5分支会在今年9月30号后停止维护,所以除非有历史遗留系统,不推荐再去读它的代码,

6.0分支是比较成熟的,在生产环境用得比较多,

目前官方对这个分支进入维护、bugfix阶段,很少有新功能添加进来了,

我个人也不推荐读它的代码,代码相对7.0来讲比较脏乱。

7.0分支完整实现了servlet 3.0规范,已陆续发布了27个小版本,己经稳定了,可用于生产环境,

代码比5.5、6.0分支干净整洁得多,这也是我强烈向你推荐的版本。

8.0分支主要关注web socket和spdy,正处于活跃开发阶段,代码变动比较频繁,保持关注即可。

所以这篇文章讲的是7.0分支,研究tomcat推荐直接提取svn的源代码:

用TortoiseSVN checkout这个svn的代码: http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk

放到D:\Tomcat7\trunk (你可以换别的目录)

然后再从这下载一个二进制分发包(Binary Distributions)

http://labs.mop.com/apache-mirror/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.zip

解压后放到D:\Tomcat7,顺便把”apache-tomcat-7.0.27″重命名成launch吧,

用这个二进制分发包而不是从源代码构建只是为了节省时间,

直接用它conf目录里面的配置文件和webapps下的例子。

3. 把它变成maven工程

主要是添加几个依赖(ecj、ant、jaxrpc等),否则的话导入eclipse后会有编译错误,

另外,因为tomcat不是标准的maven工程项目,比如没有src\main\java这样的目录,

所以要调整一下sourceDirectory和testSourceDirectory,下面是一个完整的pom文件,

直接放到D:\Tomcat7目录即可(pom.xml与之前的launch、trunk目录并列)

(注: pom.xml文件在附件中)

  1. <project xmlns=“http://maven.apache.org/POM/4.0.0″ xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”    
  2.     xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”>    
  3.     <modelVersion>4.0.0</modelVersion>    
  4.     
  5.     <groupId>org.apache.tomcat</groupId>    
  6.     <artifactId>Tomcat7.0</artifactId>    
  7.     <name>Tomcat7.0</name>    
  8.     <version>7.0</version>    
  9.     
  10.     <build>    
  11.         <finalName>Tomcat7.0</finalName>    
  12.         <sourceDirectory>trunk/java</sourceDirectory>    
  13.         <testSourceDirectory>trunk/test</testSourceDirectory>    
  14.         <resources>    
  15.             <resource>    
  16.                 <directory>trunk/java</directory>    
  17.             </resource>    
  18.         </resources>    
  19.         <testResources>    
  20.             <testResource>    
  21.                 <directory>trunk/test</directory>    
  22.             </testResource>    
  23.         </testResources>    
  24.         <plugins>    
  25.             <plugin>    
  26.                 <groupId>org.apache.maven.plugins</groupId>    
  27.                 <artifactId>maven-compiler-plugin</artifactId>    
  28.                 <version>2.3</version>    
  29.                 <configuration>    
  30.                     <source>1.6</source>    
  31.                     <target>1.6</target>    
  32.                 </configuration>    
  33.             </plugin>    
  34.         </plugins>    
  35.     </build>    
  36.     
  37.     <dependencies>    
  38.         <dependency>    
  39.             <groupId>junit</groupId>    
  40.             <artifactId>junit</artifactId>    
  41.             <version>4.4</version>    
  42.             <scope>test</scope>    
  43.         </dependency>    
  44.         <dependency>    
  45.             <groupId>org.eclipse.jdt.core.compiler</groupId>    
  46.             <artifactId>ecj</artifactId>    
  47.             <version>3.7.2</version>    
  48.         </dependency>    
  49.         <dependency>    
  50.             <groupId>ant</groupId>    
  51.             <artifactId>ant</artifactId>    
  52.             <version>1.7.0</version>    
  53.         </dependency>    
  54.         <dependency>    
  55.             <groupId>wsdl4j</groupId>    
  56.             <artifactId>wsdl4j</artifactId>    
  57.             <version>1.6.2</version>    
  58.         </dependency>    
  59.         <dependency>    
  60.             <groupId>javax.xml</groupId>    
  61.             <artifactId>jaxrpc</artifactId>    
  62.             <version>1.1</version>    
  63.         </dependency>    
  64.     </dependencies>    
  65.     
  66. </project>    

4. 导入Eclipse

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号