使用maven方式编译tomcat源码

Tomcat源码下载

官网下载:

https://tomcat.apache.org/download-80.cgi

页面下方的Source Code Distribution,下载zip文件。

Idea用maven方式编译源码

在源码文件夹内创建一个home/目录,将webapp/conf/移到这个文件夹下。

在根目录添加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>Tomcat8.5</artifactId>
    <name>Tomcat8.5</name>
    <version>8.5</version>
    <build>
        <finalName>Tomcat8.5</finalName>
        <!-- 指定源文件为java 、test -->
        <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>
                    <!-- 指定jdk 编译 版本 ,没装jdk 1.7的可以变更为1.6 -->
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <!-- 添加tomcat8 所需jar包依赖 -->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </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.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.3</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.6.1</version>
        </dependency>
    </dependencies>
</project>

在idea中导入该maven项目,等待maven构建。

idea的项目运行配置(Edit Configurations):

Edit Configurations-> + -> Application -> Main Class选择org.apache.catalina.startup.Bootstrap -> VM Options填入:

-Dcatalina.home=D:/Tomcat/apache-tomcat-8.5.49-src/home
-Dcatalina.base=D:/Tomcat/apache-tomcat-8.5.49-src/home
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:/Tomcat/apache-tomcat-8.5.49-src/home/conf/logging.properties

D:/Tomcat/apache-tomcat-8.5.49-src/是我电脑上的源码的存放位置

然后就可以尝试编译了。还会出现一些错误,可以参考:

@Version@错误

tomcat页面打不开500,jsp没有初始化错误

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/%e4%bd%bf%e7%94%a8maven%e6%96%b9%e5%bc%8f%e7%bc%96%e8%af%91tomcat%e6%ba%90%e7%a0%81/

发表评论

电子邮件地址不会被公开。