IDEA配置Tomcat源碼

IDEA配置Tomcat源碼

1.下載tomcat源碼壓縮包

https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.47/src/apache-tomcat-8.5.47-src.zip

2.構造目錄

新建一個文件夾tomcat8,將解壓後的源碼包複製進來,並在tomcat8目錄下新建home目錄,將源碼包下的webapps和conf目錄拷貝到home目錄下,並在home目錄下創建lib、work目錄。

3.配置Maven依賴

在tomcat8目錄下創建pom.xml,用於指定module爲Tomcat的源碼目錄,如下所示:

<?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>lic</groupId>   
    <
artifactId>apache-tomcat-8</artifactId>   
    <
name>apache-tomcat-8</name>   
    <
version>1.0</version>   
    <
packaging>pom</packaging>
    <modules>   
       
<!--源碼文件夾的名稱-->
       
<module>apache-tomcat-8.5.47-src</module>   
    </
modules>   
</
project>

 

之後在apache-tomcat-8.5.47-src目錄下創建pom.xml,用於配置Tomcat源碼額外的依賴,如下所示:

<?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.47</artifactId>

    <name>Tomcat8.5.47</name>

    <version>8.5</version>

 

 

   <build>    

        <finalName>Tomcat8.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.0.2</version>    

    

                <configuration>    

                    <encoding>UTF-8</encoding>    

                    <source>1.8</source>    

                    <target>1.8</target>    

                </configuration>    

            </plugin>    

        </plugins>    

    </build>    

 

   <dependencies>  

        <dependency>  

            <groupId>org.easymock</groupId>  

            <artifactId>easymock</artifactId>  

            <version>3.5</version>  

            <scope>test</scope>  

        </dependency>  

  

        <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.eclipse.jdt.core.compiler</groupId>    

            <artifactId>ecj</artifactId>    

            <version>4.6.1</version>  

        </dependency>    

    </dependencies>    

</project>

 

4.導入Idea,配置編譯環境

其中,Main class:org.apache.catalina.startup.Bootstrap

VM Options:

-Dcatalina.home=home

-Dcatalina.base=home

-Djava.endorsed.dirs=home/endorsed

-Djava.io.tmpdir=home/temp

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

-Djava.util.logging.config.file=home/conf/logging.properties

Working directory:D:/deaSpace/tomcat8

 

5.其他注意事項

(1)設置Bundle-Versio值爲8

 

(2)刪除test目錄

 

(3)在Tomcat8以上啓動org.apache.catalina.startup.Bootstrap時,沒有加載org.apache.jasper.servlet.JasperInitializer,從而無法編譯JSP。所以我們需要在tomcat的源碼org.apache.catalina.startup.ContextConfig中手動將JSP解析器初始化,如下所示:

 

6.啓動成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章