用Intellij IDEA调试Tomcat7.0源码
时间:2016-12-19 15:08 来源:linux.it.net.cn 作者:IT
最近想要研究一下Tomcat源码,并把它导到IDE中,以方便调试。参考了网上的一些资料,再结合自己的实际操作,总结了一下。
准备工作
-
下载Tomcat7.0源码,这里选择apache-tomcat-7.0.59-src版本。
-
下载安装maven工具,用于管理项目和依赖。这里直接下载二进制压缩包,解压后将bin路径添加至环境变量即可。
-
准备一个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
-
打开intellij IDEA,在弹出的对话框选择Import Project,选择D:\Source Code\apache-tomcat-7.0.59-src\pom.xml。一路点击Next即可。导入后效果如下:

Import01.png
在intellij IDEA中启动tomcat
-
修改JDK版本为1.7。因为代码中用到了一些JDK1.7中的类,所以这里手动把JDK版本改成了1.7,如下图:

Startup01.png
-
在apache-tomcat-7.0.59-src文件夹下新建文件夹lunch,作为tomcat运行的CATALINA_HOME目录。将以下几个文件夹拷贝至lunch下:
conf
logs
webapps
work
-
点击菜单栏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
点击"OK"保存。
-
点开右侧Maven Project菜单,执行compile命令编译项目:

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

Startup04.png
测试启动
-
运行tomcat_7_0_run:

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

test02.png
以上,就可以在intellij IDEA中设置断点,调试Tomcat7.0源码了。
文/YEP_lost(简书作者)
原文链接:http://www.jianshu.com/p/9e3f99f2d5bb/comments/1271089
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
(责任编辑:IT)
最近想要研究一下Tomcat源码,并把它导到IDE中,以方便调试。参考了网上的一些资料,再结合自己的实际操作,总结了一下。 准备工作
转换成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
在intellij IDEA中启动tomcat
测试启动
文/YEP_lost(简书作者)
(责任编辑:IT)原文链接:http://www.jianshu.com/p/9e3f99f2d5bb/comments/1271089 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 |