带你读《Apache Tomcat的云原生演进》——How to participate in Tomcat community(3)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 带你读《Apache Tomcat的云原生演进》——How to participate in Tomcat community(3)

带你读《Apache Tomcat的云原生演进》——How to participate in Tomcat community(2)https://developer.aliyun.com/article/1377530




image.png

目前Tomcat对于Github的使用仅限于代码托管以及PR的接收。如果大家想提交一个代码的修改,可以使用Github提一个PR或者使用Bugzilla提一个Patch。

 

image.png 

 

介绍完系统之后,下面介绍一下IDE的配置。就我目前的经历而言,对于一个新手,如果想参与到Tomcat的社区当中,面临的最大的问题是,这个代码太老了。我们目前常用的项目管理有maven、gradle等等,而Tomcat使用的是Aapache Ant工具来进行的依赖管理, 对于新手来说会很陌生。

 

作为新手,如果想尝试学一下Tomcat代码的源码,第一步面临的问题就是配置。Tomcat社区为大家提供了三种IDE的配置,流程如下:

 

第一步,先去Tomcat的仓库把代码拉下来,然后切到对应的版本。如果你想学习Tomcat的最新版本的代码,直接切main分支即可。

 

第二步,安装ant工具之后在项目目录下执行 ant 命令,然后整个Tomcat就可以构建了。99%不会报错,剩下1%的报错可能和系统环境有关。如果真的有一些解决不了的问题,可以通过前面讲的用户邮件组发帖子,其他热心用户会帮你解答。

 

在整个代码编译完成之后,进行配置IDEA。目前国内有两种方式编译Tomcat的源码,第一种方式是把Tomcat这个项目改造成maven项目;第二种方式是直接建一个SpringBoot项目,debug它的embedding,即嵌入式的Tomcat。

 

第三步,执行ant。比如我最喜欢用IDEA,所以我只需要执行ant ide-intellij这个命令就可以了。

 

第四步,如果大家想要贡献patch,最好先学习一下Apache贡献的指导指南。

 

image.png 

 

上图是一个demo,左边是构建失败的,右边是构建成功的。可以简单看一下,左边现在编译的是Tomcat 11,它要求的版本是JDK 21,当前运行时环境是Java JDK 17,所以它会告诉我是因为版本不支持的问题导致的构建失败。右侧就已经编译成功了,没有任何报错。




带你读《Apache Tomcat的云原生演进》——How to participate in Tomcat community(4)https://developer.aliyun.com/article/1377528

 

相关文章
|
26天前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
26天前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
14天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
26天前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
26天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
26天前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
52 2
|
26天前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
30 0
|
26天前
|
Cloud Native Dubbo 应用服务中间件
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
Apache Dubbo 下一代云原生微服务挑战赛启动报名!五大赛题 50 万奖金池
|
26天前
|
Oracle Java 关系型数据库
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
39 1
|
18天前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。

推荐镜像

更多