Eclipse中運行Tomcat源碼

來源:互聯網
上載者:User

標籤:eclipse   tomcat   java   apache   

1. 到http://archive.apache.org/dist/tomcat/tomcat-7下載Tomcat原始碼,本文用到的是apache-tomcat-7.0.19-src.zip;

    注意:如果下載的tomcat版本不同,所用到的jdk版本不同。舉例來說apache-tomcat-7.0.19-src.zip 使用jdk1.6沒有問題;

而apache-tomcat-7.0.56則不能用jdk1.6 需要使用jdk1.7,若使用jdk1.6代碼會報錯,會找不到java.nio下的一些類。

2. 在Eclipse中建立Java Project,取名為Tomcat7109(可隨意);

3. 把源碼中的所有檔案import到建立的項目;

4. 把conf、java、test三個檔案夾作為Source Folder。

右擊這三個目錄-->Build Path-->Use as Source Folder;

5. 此時編譯,會報錯,需要添加一些必要的jar包。

所需jar包有:

ant.jar

geronimo-spec-jaxrpc-1.1-rc4.jar

hamcrest-core-1.3.jar

junit-4.11.jar

      wsdl4j-1.6.2.jar

獲得jar包方式:

(1)網上下載。自己動手找。

(2)根據源碼中的build.properties.default自己下載jar包。

以下載geronimo-spec-jaxrpc-1.1-rc4.jar為例:開啟build.properties.default

找到# ----- Webservices - JAX RPC -----
jaxrpc-lib.version=1.1-rc4
jaxrpc-lib.home=${base.path}/jaxrpc-${jaxrpc-lib.version}
jaxrpc-lib.loc=${base-maven.loc}/geronimo-spec/geronimo-spec-jaxrpc/${jaxrpc-lib.version}/geronimo-spec-jaxrpc-${jaxrpc-lib.version}.jar
jaxrpc-lib.jar=${jaxrpc-lib.home}/geronimo-spec-jaxrpc-${jaxrpc-lib.version}.jar

就發下地址串連。base-maven.loc=http://repo.maven.apache.org/maven2


項目結構如:



找到org.apache.catalina.startup.Bootstrap類,運行即可起動Tomcat。

注意:

運行Tomcat源碼時,如果遇到java.lang.ClassNotFoundException: listeners.ContextListener錯誤,刪除webapps下的examples目錄即可。





參考檔案:

http://blog.csdn.net/fwwdn/article/details/8773001

http://my.oschina.net/xpbug/blog/53610




Eclipse中運行Tomcat源碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.