我正在寻找所有Java EE技术堆栈的清晰描述。
我认为有很多像我这样的人在许多网站/教程中搜索过,并没有找到一个精确的列表,其中列出了Java EE中使用的技术以及它们有什么用处。
我希望有人会澄清简单而且善于为所有社区做好事。
答案 0 :(得分:1)
根据 specification,Jakarta EE 9 版本的目标是在新的 Jakarta EE 9 命名空间 jakarta.*
中提供一组功能类似于 Jakarta EE 8 的规范。
此外,Jakarta EE 9 版本从 Jakarta EE 8 中删除了一小组旧的、可选的或弃用的规范,以减少 API 的表面积,以确保新供应商更容易进入生态系统,并减轻这些旧 API 的实施、迁移和维护负担。
Jakarta EE 9 主要是一个工具版本:
工具供应商可以从中创建和更新其工具以支持新的 jakarta.*
命名空间的平台。
一个平台,开发团队可以将其用作测试将其应用程序迁移到新命名空间的稳定目标。
运行时供应商可以用来测试和提供支持迁移和向后兼容 Jakarta EE 8 的选项和功能的平台。
Jakarta EE 规范项目可用于推动 Jakarta EE 10 及更高版本发布新功能的创新基础。
specification 列出了属于 Jakarta EE 9 的所有技术:
<块引用>需要以下技术:
Jakarta Enterprise Beans 4.0(Jakarta Enterprise Beans 实体 bean 和相关的 Jakarta Enterprise Beans QL 除外,它们具有
已成为可选)
雅加达 Servlet 5.0
雅加达服务器页面 3.0
雅加达表达式语言 4.0
雅加达消息 3.0
雅加达交易 2.0
雅加达激活 2.0
雅加达邮件 2.0
雅加达连接器 2.0
雅加达 RESTful Web 服务 3.0
雅加达 WebSocket 2.0
雅加达 JSON 处理 2.0
雅加达 JSON 绑定 2.0
雅加达并发 2.0
雅加达 Batch 2.0
雅加达授权 2.0
雅加达认证 2.0
雅加达安全 2.0
雅加达调试支持其他语言 2.0
雅加达标准标签库 2.0
Jakarta Server Faces 3.0
雅加达注释 2.0
雅加达持久性 3.0
Jakarta Bean 验证 3.0
Jakarta Managed Beans 2.0
雅加达拦截器 2.0
雅加达上下文和依赖注入 3.0
雅加达依赖注入 2.0
以下技术是可选的:
Jakarta Enterprise Beans 3.2 和更早的实体 bean 以及相关的 Jakarta Enterprise Beans QL
Jakarta Enterprise Beans 2.x API 组
雅加达企业网络服务 2.0
Jakarta SOAP with Attachments 2.0
雅加达网络服务元数据 3.0
雅加达 XML 网络服务 3.0
雅加达 XML 绑定 3.0
删除了以下技术:
Jakarta Enterprise Beans 3.2 核心规范第 10 章中的分布式互操作性
雅加达 XML RPC 1.1
雅加达 XML 注册表 1.0
雅加达部署 1.2
雅加达管理 1.1
下图摘自 Jakarta EE 9 specification 页面,显示了技术的逻辑关系。这并不意味着将元素物理分区为单独的机器、进程、地址空间或虚拟机。
来自规范:
<块引用>由单独的矩形表示的容器是 Jakarta EE 运行时环境,为矩形上半部分表示的应用程序组件提供所需的服务。所提供的服务由矩形下半部分的方框表示。例如,应用程序客户端容器向应用程序客户端以及所表示的其他服务提供 Jakarta 消息传递 API。下面将解释所有这些服务。见Jakarta EE Standard Services。
箭头表示需要访问 Jakarta EE 平台的其他部分。应用程序客户端容器通过 Java API 为应用程序客户端提供对 Jakarta EE 所需数据库的直接访问,以连接数据库系统,即 JDBC™ API。 Web 容器为服务器页面、面向服务器的应用程序和 servlet 以及企业 Bean 容器提供了对企业 Bean 的类似访问。
如上所述,Java™ 平台标准版 (Java SE) 的 API 受 Java SE 运行时环境的支持,适用于每种类型的应用程序组件。
答案 1 :(得分:0)
重要提示:虽然此答案仍然有效,但您可能还需要查看 Jakarta EE 9 的技术列表。
Java EE 由 Oracle 在 JCP(Java Community Process)下维护。 2017 年 9 月,Oracle announced 表示将向 Eclipse 基金会提交 Java EE,这些技术现在正在 Jakarta EE 品牌下发展(因为 Oracle 仍然拥有“Java”这个名称的商标)。< /p>
Jakarta EE 8 是 Java EE 8 从 JCP 到 Eclipse Foundation 的迁移。有关详细信息,请参阅 specification。
从规范中提取的下表显示了 2017 年 7 月 31 日的最新 Java EE 8 平台规范与 Jakarta EE 8 平台规范中引用的规范名称和版本之间的差异。
在某些情况下,版本更改是为了准备贡献,因此官方 JCP 版本更改为 2017 年 7 月 31 日平台规范中引用的版本。在其他情况下,版本在贡献后更改。 尽管名称或版本有所变化,但 Java EE 8 和 Jakarta EE 8 在功能上是等效的。
Java EE 8 规范 | Jakarta EE 8 规范 |
---|---|
Java™ 平台,企业版 8 | Jakarta™ EE 平台 8 |
企业 JavaBeans™ 3.2 | Jakarta™ Enterprise Beans 3.2 |
Java Platform 1.3 的通用注解 | Jakarta™ 注释 1.3 |
Java™ Servlet 4.0 | Jakarta™ Servlet 4.0 |
WebSocket 1.1 的 Java API | Jakarta™ WebSocket 1.1 |
JavaServer Faces 2.3 | Jakarta™ Server Faces 2.3 |
JavaServer Pages™ 2.3 | Jakarta™ 服务器页面 2.3 |
JavaServer Pages 1.2 的标准标签库 | Jakarta™ 标准标签库 1.2 |
表达式语言 3.0 | Jakarta™ 表达语言 3.0 |
对其他语言 1.0 的调试支持 | Jakarta™ 对其他语言 1.0 的调试支持 |
Java™ 消息服务 2.0 | Jakarta™ Messaging 2.0 |
Java™ 事务 API 1.2 | Jakarta™ 交易 1.3 |
JavaMail™ API 1.6 | Jakarta™ Mail 1.6 |
Java EE™ 连接器架构 1.7 | Jakarta™ 连接器 1.7 |
Java EE 1.4 的网络服务 | Jakarta™ 企业网络服务 1.4 |
用于基于 XML 的 RPC 1.1 的 Java™ API | Jakarta™ XML RPC 1.1 |
用于 XML 注册表的 Java™ API 1.0 | Jakarta™ XML 注册表 1.0 |
用于 RESTful Web 服务 2.1 的 Java™ API | Jakarta™ RESTful Web 服务 2.1 |
用于 JSON 处理的 Java API 1.1 | Jakarta™ JSON 处理 1.1 |
用于 JSON 绑定的 Java API 1.0 | Jakarta™ JSON 绑定 1.0 |
Java™ 平台,企业版管理 1.1 | Jakarta™ 管理 1.1 |
Java™ 平台,企业版部署 1.2 | Jakarta™ 部署 1.7 |
容器 1.5 的 Java™ 授权服务提供商合同 | Jakarta™ 授权 1.5 |
容器 1.1 的 Java™ 身份验证服务提供程序接口 | Jakarta™ 身份验证 1.1 |
Java™ EE 安全 API 1.0 | Jakarta™ 安全 1.0 |
Java 持久化 2.2 | Jakarta™ Persistence 2.2 |
Bean 验证 2.0 | Jakarta™ Bean 验证 2.0 |
托管 Bean 1.0 | Jakarta™ Managed Beans 1.0 |
拦截器 1.2 修订版 A | Jakarta™ Interceptors 1.2 |
Java EE Platform 2.0 的上下文和依赖注入 | Jakarta™ 上下文和依赖注入 2.0 |
Java 1.0 的依赖注入 | Jakarta™ 依赖注入 1.0 |
Java EE 1.0 的并发实用程序 | Jakarta™ 并发 1.1 |
Java Platform 1.0 rev A 的批处理应用程序 | Jakarta™ Batch 1.0 |