Tomcat7調試運行環境搭建

  1. 在本地建一個目錄如在我本機上建瞭如下目錄,如下用$tomcat_src_home表示
    java

    D:\dev\svn\tomcat7web

  2. 從svn上下載最新的tomcat7的代碼shell

    tomcat7的代碼的svn資源目錄爲:http://svn.apache.org/repos/asf/tomcat/tc7.0.xapache

    把它checkout到$tomcat_src_home的trunk目錄下tomcat

  3. 從網上下載一個二進制的分發發包app

    下載地址:http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.59/bin/apache-tomcat-7.0.59.zipeclipse

    解壓後放到$tomcat_src_home,順便把"apache-tomcat-7.0.59"重命名成launch吧webapp

    用這個二進制分發包而不是從源代碼構建只是爲了節省時間,maven

    直接用它conf目錄裏面的配置文件和webapps下的例子。svn

  4. 把它變成maven工程

    下面是一個完整的pom文件,直接放到$tomcat_src_home目錄便可(pom.xml與以前的launch、trunk目錄並列)

<?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/maven-v4_0_0.xsd">   
    <modelVersion>4.0.0</modelVersion>    
    <groupId>org.apache.tomcat</groupId>
    <artifactId>Tomcat7.0</artifactId>
    <name>Tomcat7.0</name>
    <version>7.0</version>
    <build>    
        <finalName>Tomcat7.0</finalName>    
        <sourceDirectory>trunk/java</sourceDirectory>    
        <testSourceDirectory>trunk/test</testSourceDirectory>    
        <resources>    
            <resource>    
                <directory>trunk/java</directory>    
            </resource>    
        </resources>    
        <testResources>    
            <testResource>    
                <directory>trunk/test</directory>    
            </testResource>    
        </testResources>    
        <plugins>    
            <plugin>    
                <groupId>org.apache.maven.plugins</groupId>    
                <artifactId>maven-compiler-plugin</artifactId>    
                <version>2.3</version>    
                <configuration>    
                    <source>1.6</source>    
                    <target>1.6</target>    
                </configuration>    
            </plugin>    
        </plugins>    
    </build>
    
    <dependencies>    
        <dependency>    
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>    
            <version>4.4</version>    
            <scope>test</scope>    
        </dependency>    
        <dependency>
			<groupId>org.eclipse.jdt.core.compiler</groupId>
			<artifactId>ecj</artifactId>
			<version>4.4.1</version>
		</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>    
    </dependencies>
</project>

5. 導入eclipse

在命令行窗口中進入$tomcat_src_home,運行mvn eclipse:eclipse生成eclipse的工程文件

而後打開eclipse,點」File->Import->General->Existing Projects into Workspace」,最後打開$tomcat_src_home就能看到Tomcat7.0這個項目了

正常狀況下是工程下的trunk/java目錄是能夠編繹經過了,trunk/test下有少許編繹不過的代碼不用管它

6. 在eclipse下運行tomcat

在Eclipse中打開org.apache.catalina.startup.Bootstrap類,在編輯區右擊,點」Run As->Run configurations」,而後雙擊」Java Aplication」就會出來一個新的」Bootstrap」,

選中它,在右邊點擊」Arguments」那一欄,把下面的內容copy到」VM arguments」中:

-Dcatalina.home=launch -Dcatalina.base=launch -Djava.endorsed.dirs=launch/endorsed -Djava.io.tmpdir=launch/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=launch/conf/logging.properties

而後點run按鈕,就能夠啓動tomcat了,啓動成功會在Eclipse的console中顯示

信息: Starting ProtocolHandler ["http-bio-8080"]
二月 28, 2015 6:55:40 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
二月 28, 2015 6:55:40 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 2018 ms

到些爲止就能夠開始調試tomcat7啦!

參考連接:

Tomcat7調試運行環境搭建與源代碼分析入門

基本上是參照這篇文章的,但最後一步start-tomcat7.launch來啓動tomcat的我沒有成功,還有這篇文章還簡單介紹了一下tomcat的代碼結構。推薦你們看這篇文章,我這邊從新整理一下是爲了備份^_^

相關文章
相關標籤/搜索