在本地建一個目錄如在我本機上建瞭如下目錄,如下用$tomcat_src_home表示
java
D:\dev\svn\tomcat7web
從svn上下載最新的tomcat7的代碼shell
tomcat7的代碼的svn資源目錄爲:http://svn.apache.org/repos/asf/tomcat/tc7.0.xapache
把它checkout到$tomcat_src_home的trunk目錄下tomcat
從網上下載一個二進制的分發發包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
把它變成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啦!
參考連接:
基本上是參照這篇文章的,但最後一步start-tomcat7.launch來啓動tomcat的我沒有成功,還有這篇文章還簡單介紹了一下tomcat的代碼結構。推薦你們看這篇文章,我這邊從新整理一下是爲了備份^_^