Tomcat7源码环境搭建

时间:2024-12-12 23:36:32

一、下载Tomcat7源码

从官网上下载Tomcat源码,   http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/src/apache-tomcat-7.0.70-src.zip

下载之后,将源码解压后重名为tomcat-src,放在E盘的tomcat7目录下.

Tomcat7源码环境搭建

二、安装Ant

因Tomcat源码需要ant编译,所以需要安装Ant,从官网下载后解压,并配置环境变量即可.

三、安装JDK6

tomcat7的编译需要JDK6的环境,JDK7以及以上,ant 编译时会报错.



四、用Ant工具编译Tomcat源码

打开cmd命令行工具,进入tomcat源码目录,输入ant  ide-eclipse ,然后按下Enter键,会自动下载编译需要的依赖包.

Tomcat7源码环境搭建

 Tomcat7源码环境搭建

testexist:
[echo] Testing for C:\Users\yulei/tomcat-build-libs/objenesis-1.2/objenesis-1.2.jar downloadzip:
[get] Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip
[get] To: C:\Users\yulei\tomcat-build-libs\download-1649634615.zip
[get] Error getting https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip to C:\Users\yulei\tomcat-build-libs\download-16496 BUILD FAILED
E:\tomcat7\tomcat_src\build.xml:2697: The following error occurred while executing this line:
E:\tomcat7\tomcat_src\build.xml:2848: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:570)
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:525)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:728)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:641)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:631) Total time: 1 minute 58 seconds

可以看见,编译报错了,是因为从国外网站下载依赖的objenesis-1.2-bin.zip超时了,导致编译失败.

解决办法,*下载objenesis-1.2-bin.zip文件,这里为了方便,为大家提供了下载地址:http://pan.baidu.com/s/1kUWtA8v

将其解压后放在C:\Users\yulei\tomcat-build-libs 目录下面

Tomcat7源码环境搭建

再次运行ant  ide-eclipse 命名就会编译成功了

Tomcat7源码环境搭建

编译成功后,会生成Eclipse的项目文件(.classpath等),如下图:

Tomcat7源码环境搭建

五、将Tomcat7源码导入MyEclipse

导入MyEclipse后,工程上面会出现红色感叹号.
Tomcat7源码环境搭建

打开MyEclipse的Problems视图,可以看到如下错误:
Tomcat7源码环境搭建
解决方案:右键tomcat工程,Build Path--->Configure Build Path
Tomcat7源码环境搭建
Tomcat7源码环境搭建

如上图,以Ant举例,图示操作,点击ant  ,然后点击Edit..    ,若没有,需要自己新建一个.

Tomcat7源码环境搭建

以此类推,把余下的Tomacat依赖包配置好。TOMCAT_LIB_BASE  配置的地址是:C:/Users/yulei/tomcat-build-libs

六、运行Tomcat

右键Tomcat工程,Run As --->Java Application, 选择Bootstrap.

Tomcat7源码环境搭建

点击OK,出现如下选项:

Tomcat7源码环境搭建

选择start-tomcat,后命令行出现如下信息:

九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.CatalinaProperties loadProperties
WARNING: Failed to load catalina.properties
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [D:\CBSS\code\tomcat-7.0.x\output\build\conf\server.xml]
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [D:\CBSS\code\tomcat-7.0.x\output\build\conf\server.xml]
九月 05, 2016 11:21:21 下午 org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

表示,tomcat服务没有跑起来,别着急,用Ant  deploy一下你的tomcat工程.

Tomcat7源码环境搭建

deploy成功之后,然后再运行你的tomcat,会出现如下信息,表示Tomcat服务已成功启起来:

Tomcat7源码环境搭建

访问http://localhost:8080

Tomcat7源码环境搭建