当前位置: > Linux服务器 > Tomcat >

用Intellij IDEA调试Tomcat7.0源码

时间:2016-12-19 15:08来源:linux.it.net.cn 作者:IT

最近想要研究一下Tomcat源码,并把它导到IDE中,以方便调试。参考了网上的一些资料,再结合自己的实际操作,总结了一下。

准备工作

  1. 下载Tomcat7.0源码,这里选择apache-tomcat-7.0.59-src版本。

  2. 下载安装maven工具,用于管理项目和依赖。这里直接下载二进制压缩包,解压后将bin路径添加至环境变量即可。

  3. 准备一个IDE,这里以intellij IDEA 14.1.1版本为例。

转换成Maven工程

根据官方的文档,如果导入IDE需要使用ant这个比较古老的编译工具,实在有点繁琐,网上搜了一下,发现一个比较好的解决方案,可以自己增加pom文件,然后生成Maven工程,非常方便。

先将下载的tomcat-7.0.50-src.zip解压至当前目录,例如解压到:D:\Source Code\apache-tomcat-7.0.59-src。然后在tomcat-7.0.50-src目录下创建一个pom.xml文件,内容如下:

<?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>Tomcat7.0</artifactId>
    <name>Tomcat7.0 src</name>
    <version>7.0</version>

    <build>
        <finalName>Tomcat7.0</finalName>
        <sourceDirectory>java</sourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-apache-log4j</artifactId>
            <version>1.6.5</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-commons-logging</artifactId>
            <version>1.6.5</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.rpc</groupId>
            <artifactId>com.springsource.javax.xml.rpc</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.4</version>
        </dependency>
    </dependencies>
</project>

这里我们只把java模块加进来了,test模块就不导入到IDEA里面了。

导入intellij IDEA

  1. 打开intellij IDEA,在弹出的对话框选择Import Project,选择D:\Source Code\apache-tomcat-7.0.59-src\pom.xml。一路点击Next即可。导入后效果如下:


    Import01.png

在intellij IDEA中启动tomcat

  1. 修改JDK版本为1.7。因为代码中用到了一些JDK1.7中的类,所以这里手动把JDK版本改成了1.7,如下图:

    Startup01.png
    Startup01.png
  2. 在apache-tomcat-7.0.59-src文件夹下新建文件夹lunch,作为tomcat运行的CATALINA_HOME目录。将以下几个文件夹拷贝至lunch下:

    conf
    logs
    webapps
    work

  3. 点击菜单栏Run-Edit configurations...,点击加号新建配置项Application Configuration,名称随意填写,如tomcat_7_0_run,Main Class选择org.apache.catalina.startup.Bootstrap,VM options中填入:

    -Dcatalina.home="D:\Source Code\apache-tomcat-7.0.59-src\lunch"

    Startup02.png
    Startup02.png

    点击"OK"保存。

  4. 点开右侧Maven Project菜单,执行compile命令编译项目:

    Startup03.png
    Startup03.png
  5. 如果maven compile执行成功,点击菜单栏Run-Run 'tomcat_7_0_run',就可以启动了!

    Startup04.png
    Startup04.png

测试启动

  1. 运行tomcat_7_0_run:

    test.png
    test.png

    打开浏览器,输入http://127.0.0.1:8080 ,看能否正确打开。

    test02.png
    test02.png

    以上,就可以在intellij IDEA中设置断点,调试Tomcat7.0源码了。



文/YEP_lost(简书作者)
原文链接:http://www.jianshu.com/p/9e3f99f2d5bb/comments/1271089
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容