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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《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

 

相关文章
|
1月前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
1月前
|
Java 应用服务中间件 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
简介Nginx,Tomcat和 Apache
|
9天前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
37 7
|
1月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
|
1月前
|
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)。
|
1月前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
1月前
|
运维 Cloud Native Apache
云计算新宠:探索Apache Doris的云原生策略
云计算新宠:探索Apache Doris的云原生策略
64 2
|
1月前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
35 0
|
4天前
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
429 10
|
23小时前
|
运维 Cloud Native API
云原生架构的演进与未来
本文旨在深入探讨云原生架构的演进历程,以及其对未来技术发展的影响。通过分析云原生技术的关键组成部分,如容器化、微服务、自动化管理和声明式API,并结合最新的行业报告和案例研究,揭示云原生如何推动现代软件开发和运维的变革。文章还将预测云原生技术的未来趋势,为读者提供对云原生架构深层次理解的同时,展望其带来的潜在机遇与挑战。
8 1

推荐镜像

更多