搭建Tomcat8源码开发

概述

开源软件tomcat,目前几乎已经是Java web开发的必备软件了,目前有很多关于tomcat的书籍,但是里面介绍的大多是关于tomcat的配置,已经通过配置对tomcat进行一些跟应用业务功能的调优,作为一个Java开发人员,感觉如果仅仅只是了解一些配置,可能稍微少了一点什么,最好能够深入到源代码中进行学些和了解。
在Google上搜索了很多关于tomcat源码环境搭建的文章,发现按照文章的步骤,几乎都启动不了,于是自己尝试搭建,下面是搭建的方法。

基础环境搭建

  1. 下载tomcat源代码,我这里是通过svn的方式下载的,svn下载地址
    2.下载安装maven工具,这里我就不多说了,安装说明太多了,自己网上找。
    3.IDE,我这里使用idea

生成maven工程

我的代码本地目录是:/Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomcat-8.5.5-sourcecode。先在该目录下生成一个pom.xml文件,pom文件的内容为:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>Tomcat8.0</artifactId>
    <name>Tomcat8.0</name>
    <version>8.0</version>

    <build>
        <finalName>Tomcat8.0</finalName>
        <sourceDirectory>java</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>test</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
    </dependencies>
</project>

在这里,我把javatest这两个模块到加载到pom工程里,你也可以选择将test工程移除,这样可以省不少事情。

在idea中导入tomcat pom工程

将tomcat的pom工程导入到idea中,这个时候,你可以找到tomcat的启动类org.apache.catalina.startup.Bootstrap, 找到main方法,尝试启动tomcat,这个时候肯定是报错的,因为你还有很多后面的步骤没有完成。

1.需要设置一个运行时的CATALINA_HOME目录,你需要下载一个tomcat软件的压缩包,由于我选择的是tomcat-8.5.5的源代码,下载对应的tomcat版本,tomcat下载地址
2.和tomcat-8.5.5-sourcecode这个目录的上层目录上,建一个和该目录平行的目录catalina-home,将tomcat软件解压后,在解压的目录下,将以下目录拷贝到catalina-home中:

bin
conf
lib
logs
temp
webapps
work

在本地的目录结构是这样的:

3.在idea的右上角找到run这个按钮,旁边有Edit Configurations...这个选项,点击它。得到一个弹出框。

Man class:中填入,org.apache.catalina.startup.Bootstrap
VM options:中填入,你刚刚设置catalina-home路径,我的是:-Dcatalina.home="/Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/catalina-home"
Working directory是默认的,不用管
Use class path of module里选择Tomcat8.0,这个和你在pom.xml中的配置有关
JRE,我选择的是1.8
如下图:

4.保存上面的配置,然后在右上角选择run,这个时候,可以启动起来了,你可以在控制台上看到下图的启动日志:

如果你将test工程也包含在pom工程里,有可能你会启动失败,报错的类是:TestCookieFilter.java 报里面的CookieFilter.java类不存在,你可以选择注释,也可以选择实现该filter,我是注释掉的。

5.打开chrome浏览器,输入127.0.0.1:8080,这时候,你能够得到下面的页面:

这个时候,说明你的tomcat环境配置已经成功了,接下来,开启你的tomcat源码调试之旅吧!

时间: 2024-10-01 20:49:21

搭建Tomcat8源码开发的相关文章

搭建Tomcat 8源码开发环境的步骤详解_Tomcat

前言 最近在网上搜索了很多关于tomcat源码环境搭建的文章,发现按照文章的步骤,几乎都启动不了,于是自己尝试搭建,下面是搭建的方法. 基础环境搭建 1.下载tomcat源代码,我这里是通过svn的方式下载的,svn下载地址 2.下载安装maven工具,这里我就不多说了,安装说明太多了,自己网上找. 3.IDE,我这里使用idea 生成maven工程 我的代码本地目录是: /Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomca

idempiere-在搭建IDempiere源码环境时,导入出错

问题描述 在搭建IDempiere源码环境时,导入出错 开发环境:win7 64位 jdk 1.6 eclipse 3.7.2 ERROR [0001] : No suitable provider for component org.adempiere.sdk:eclipse.feature was found in resourceMap file:/D:/ID/idempiere_hgrepo_v2.1/org.adempiere.sdk-feature/adempiere.rmap ER

《深入理解Android》一1.1 Android全源码开发环境

1.1 Android全源码开发环境 Android 2.3版本以后谷歌官方推荐在64位Linux系统上编译其源代码,推荐的编译平台是Ubuntu LTS 10.04/12.04. 1.1.1 PC配置建议 Android源码包很大,源码至少3.5GB以上,包含git版本信息约增加一倍空间,编译输出的out目录10GB以上,因此交叉编译的代码量是相当大的.有人曾用DELL Latitude E5410(i3机型)Ubuntu实体机(非虚拟机)做首次编译,整整花了10个小时.所谓"工欲善其事必先利

《Android的设计与实现:卷I》——第1章 1.5Android源码开发工具的配置和使用

1.5 Android源码开发工具的配置和使用 Android源码开发需要安装配置Android SDK.Eclipse +ADT插件以及Source Insight工具,Android SDK中提供了大量的命令行工具供开发者操作设备和调试源代码:Eclipse+ADT插件用于开发和调试应用层以及应用框架层Java部分代码:Source Insight是阅读Android全部源代码的必备工具,但不具备调试功能.本节将分别介绍这三种工具的安装和使用. 1.5.1 配置Android SDK 步骤1

hadoop-linux搭建spark源码环境,执行build/sdt gen-idea要twitter东西?

问题描述 linux搭建spark源码环境,执行build/sdt gen-idea要twitter东西? 我linux不会翻墙啊.... [error] Server access Error: 连接超时 url=http://maven.twttr.com/org/mortbay/jetty/jetty-parent/10/jetty-parent-10.jar [info] Resolving org.apache.hadoop#hadoop-project;2.2.0 ... [erro

Android入门之使用eclipse进行源码开发的方法_Android

本文实例讲述了Android入门之使用eclipse进行源码开发的方法.分享给大家供大家参考,具体如下: 一.版本说明: 1. eclipse for javaEE 3.5.2 2. jdk1.6 3. adt12.0 4. linux/Ubuntu10.04 或者 linux/ubuntu10.10 二.准备工作: 1. 下载 Android2.3.7 源码 欲了解具体内容可以参看 android 官网. 2. 编译源码 必须编译源码,否则会引发很多问题.记住:如果下载没问题的话,编译只是时间

Android入门之源码开发基础教程_Android

本文讲述了Android入门之源码开发基础教程.分享给大家供大家参考,具体如下: 下载 Android 源码之后,接下来就是学习或者进行开发. 在开发之前,谈一些开发必备知识或者工具,工欲善其事必先利其器嘛! 在前面一篇<Android入门之使用eclipse进行源码开发的方法>中基本上说了开发使用工具. 但是我们如何使用模拟器开发呢?! 当然你去删除或者增加app到模拟器就不可以按常规来操作了,花 5 -10 分钟了解一下,如果你有需要. 0. 编译源码 直接在下载的源码根目录下面,执行:

Android入门之源码开发基础教程

本文讲述了Android入门之源码开发基础教程.分享给大家供大家参考,具体如下: 下载 Android 源码之后,接下来就是学习或者进行开发. 在开发之前,谈一些开发必备知识或者工具,工欲善其事必先利其器嘛! 在前面一篇<Android入门之使用eclipse进行源码开发的方法>中基本上说了开发使用工具. 但是我们如何使用模拟器开发呢?! 当然你去删除或者增加app到模拟器就不可以按常规来操作了,花 5 -10 分钟了解一下,如果你有需要. 0. 编译源码 直接在下载的源码根目录下面,执行:

Android入门之使用eclipse进行源码开发的方法

本文实例讲述了Android入门之使用eclipse进行源码开发的方法.分享给大家供大家参考,具体如下: 一.版本说明: 1. eclipse for javaEE 3.5.2 2. jdk1.6 3. adt12.0 4. linux/Ubuntu10.04 或者 linux/ubuntu10.10 二.准备工作: 1. 下载 Android2.3.7 源码 欲了解具体内容可以参看 android 官网. 2. 编译源码 必须编译源码,否则会引发很多问题.记住:如果下载没问题的话,编译只是时间