tomcat8.5 源码分析(一)导入eclipse

本文主要参考了文章http://blog.csdn.net/zhangjikuan/article/details/52594828,但发现有些不足。现在补充

tomcat8.5源码分析(一):导入eclipse
SVN客户端下载源代码
配置ant
关于build 主要还是要参考官方网站
修改 base.path=E:/J2EE/tomcat/libraries-tomcat8.0

在tomcat目录下执行
~/Downloads/apache-ant-1.9.7/bin/ant ide-eclipse
报错log如下:
downloadzip: [get] Getting: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip [get] To: /Users/jikuan.zjk/tomcat-build-libs/download-1580874369.zip [get] Error opening connection java.io.FileNotFoundException: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip [get] Error opening connection java.io.FileNotFoundException: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip [get] Error opening connection java.io.FileNotFoundException: https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip [get] Can't get https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip to /Users/jikuan.zjk/tomcat-build-libs/download-1580874369.zip BUILD FAILED /Users/jikuan.zjk/Documents/workspace/apache-tomcat-8.5.4-src/build.xml:2637: The following error occurred while executing this line: /Users/jikuan.zjk/Documents/workspace/apache-tomcat-8.5.4-src/build.xml:2741: Can't get https://objenesis.googlecode.com/files/objenesis-1.2-bin.zip to /Users/jikuan.zjk/tomcat-build-libs/download-1580874369.zip
原因是Google下载不下来objenesis-1.2.jar包 。
类似这种问题, objenesis-1.2 放到maven中下载下来,然后复制到 目标文件夹中去。具体路径、文件夹名称、版本号可以参考ant配置文件build.properties。

~/Downloads/apache-ant-1.9.7/bin/ant ide-eclipse
这时候就会转换成功了,转换成了eclipse工程,会发现tomcat源码文件下会出现.classpath 和.project文件

导入工程
file->import->Existing Project into workspace->选择工程
这样会有错误,是没有导入jar包的问题 ,看图说话


配置变量即可,科科。。。
如果右击工程时没有build path 修改.project文件,有的话忽略
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>apache-tomcat-8.5.4-src</name> <comment></comment> <projects> </projects> <buildSpec> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
主要是添加org.eclipse.jdt.core.javanature,要不然找不到build path,jar包也加不进来
启动
找到java/org.apache.catalina.startup/Bootstrap.java文件,右击->run as->run configurations->在java application里选择start-tomcat(自动生成的) 
错误log如下:
九月 20, 2016 12:21:13 下午 org.apache.catalina.startup.CatalinaProperties loadProperties警告: Failed to load catalina.properties九月 20, 2016 12:21:13 下午 org.apache.catalina.startup.Catalina load警告: Unable to load server configuration from [/Users/jikuan.zjk/Documents/workspace/tomcat-8.5.x/output/build/conf/server.xml]九月 20, 2016 12:21:13 下午 org.apache.catalina.startup.Catalina load警告: Unable to load server configuration from [/Users/jikuan.zjk/Documents/workspace/tomcat-8.5.x/output/build/conf/server.xml]九月 20, 2016 12:21:13 下午 org.apache.catalina.startup.Catalina start严重: Cannot start server. Server instance is not configured.
可见是在output文件加下找到build/conf/server.xml文件,output是ant编译时候编译出来的,在源码文件夹下是有个conf文件夹的,里面有server.xml 
在output文件夹下创建build/conf/并把server.xml复制进去 
重新启动,OK,启动成功
信息: Server startup in 176 ms
现在启动时没问题了,但是还不可以对外提供服务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个AI机器人,我并没有能力进行源码分析。但是我可以提供一些关于Tomcat8.5的相关信息。 Tomcat8.5是Apache Tomcat的一个版本,是一个开源的Web容器,使用Java编写,可用于部署Java Web应用程序。Tomcat8.5增加了对Java Servlet 3.1、JavaServer Pages 2.3、Java Unified Expression Language 3.0以及WebSocket 1.1的支持。Tomcat8.5还增强了对SSL/TLS的支持,包括支持ALPN协议和OCSP Stapling。Tomcat8.5还提供了一些新的特性,如异步I/O和NIO2。 在Tomcat8.5源码中,主要涉及到的模块有:Catalina、Coyote、Jasper、WebSocket和Tomcat Native。Catalina模块是Tomcat的核心模块,负责处理HTTP请求和响应。Coyote模块负责处理HTTP请求的接收和响应。Jasper模块负责处理JSP页面的编译和执行。WebSocket模块提供了基于WebSocket协议的通信。Tomcat Native模块提供了对APR(Apache Portable Runtime)库的支持,可以提高Tomcat的性能和可靠性。 在Tomcat8.5源码中,还有一些其他的模块,如:Cluster、Manager、Realm、Valve等。Cluster模块提供了集群支持,可以让多个Tomcat实例共享会话信息。Manager模块提供了Web应用程序管理的功能。Realm模块提供了认证和授权的支持。Valve模块提供了一些过滤器和拦截器,可以对HTTP请求和响应进行处理。 总体来说,Tomcat8.5源码是一个庞大而复杂的项目,需要对JavaWeb开发有一定的了解才能进行源码分析。如果有兴趣了解Tomcat8.5的源码,可以先从官方文档和源码注释入手,逐步深入了解各个模块的实现原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值