idea下导入Tomcat源码

对于web开发者来说,如果明白了tomcat那对于开发还是后面的学习都是有很大益处的,但在网上看了很多的文章,总是没弄好,经历了很久才弄好了,写个文章记录下,希望也能帮助到其他人。
下载Tomcat源码
对于下载源码直接进入Tomcat的官网选择对应的版本下载,如图:

添加需要的jar或者配置pom文件

将下载好的文件解压。因为启动Tomcat还需要一些jar包,因此你可以直接将需要的jar拷贝后放在与java文件夹同级的目录下,也可以给解压后的文件夹添加一个pom文件,最终目的就是下载需要的jar。其实使用ant就能完成这些,但是对于ant不熟悉,进入解压的目录后执行ant始终报错,最后也就没使用这种方式了。


pom文件网上也有,但是按照上面说的会有报错,在idea下显示缺少插件 maven-compiler-plugin与maven-jar-plugin。 添加后的 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>tomcat7</artifactId>
<name>tomcat7</name>
<version>7.0</version>
<build>
<finalName>tomcat7</finalName>
<sourceDirectory>java</sourceDirectory>
<!--<testSourceDirectory>test</testSourceDirectory> test 下的有些文件报错,因此将test文件夹去掉了-->
<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>3.5.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.4</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.2.2</version>
</dependency>
</dependencies>
</project>

3 将Tomcat源码导入idea中

使用maven命令编译项目,在编译的时候会报错。第一个是jdk1.8的版本,没细看,直接注释掉就行。

再重新编译报test文件夹下类的错误,花了时间没有解决,最终将test包去掉了。等到编译没有错误后就可以运行Tomcat了。

4 运行Bootstrap类

像运行其他类一样,在application中添加该类并且设置vm参数,如图:


VM的设置如下所示,将”D:\tomcat7”替换为你的路径:

-Dcatalina.home=D:\tomcat7
-Dcatalina.base=D:\tomcat7
-Djava.endorsed.dirs=D:\tomcat7\endorsed
-Djava.io.tmpdir=D:\tomcat7\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\tomcat7\conf\logging.properties

启动后如下图所示,可以看到输出的内容:

5 运行web工程
网上大部分说到这里就结束了,但对于将web工程添加到Tomcat中看运行的流程没有说,配置项目就和在 server.xml中配置工程是一样的。在D:\tomcat7\conf下的 server.xml 中的 Host节点添加

<Context docBase="D:/tomcat7/webapps/ROOT" path="/mytomcat" debug="0" reloadable="true"/>
添加后重新启动Bootstrap类,启动完成后访问 http://localhost:8080/mytomcat/ 就可以看到Tomcat默认的工程了,如图:

6 你可以将自己的工程添加到server.xml中,启动的时候跟踪代码。
---------------------
作者:云的牧人
来源:CSDN
原文:https://blog.csdn.net/z583773315/article/details/56353311
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/yaowen/p/10292294.html