Java|从Java EE到Jakarta EE,企业版Java的发展历程( 三 )

Java EE 5
2006.05
以Web为着力点继续优化 。 Servlet 2.5、JSP 2.1、EJB 3.0、注解支持等
Java EE 6
2009.12
添加了大量新技术来简化开发 , 如:Servlet 3.0(异步处理)、Bean Validation、EJB 3.1、JSF 2.0、JPA 2.0、上下文和依赖注入(CDI)
Java EE 7
2013.06
提高生产力满足企业需求和HTML5 。 Servlet 3.1、WebSocket 1.0、JSON 1.0、JMX 2.0、Batch 1.0
Java EE 8
2017.08
增加了JSON绑定和安全相关 。 Servlet 4.0、Bean Validation 2.0、CDI 2.0、JPA 2.2
Jakarta EE入局
2017.08
Oracle将Java EE交给开源组织 , Eclipse基金会接手(Apache基金会爆冷出局还是不想要?) 。 但Oracle不允许开源组织使用Java名号 , 所以Jakarta EE名称于2018.02.26应运而生
Jakarta EE 8
2019.09
规范与Java EE 8完全相同 。 Maven的GAV变了:
javax.servlet:javax.servlet-api:4.0.1 ->jakarta.servlet:jakarta.servlet-api:4.0.2 , 但命名空间没变依旧还是javax.* , 算是个小过度吧
Jakarta EE 9
2020.11
没有加入新功能 , Eclipse基金会的首个正式版本 。 命名空间从javax.*迁移到jakarta.* , 前者从此成为历史 。 所有模块大版本号+1 , 如Servlet 4.0.2 -> Servlet 5以表示其断层式升级
Jakarta EE 9.1
2021.06
相较于9没有加入新API 。 主要提供对Java SE 11的运行支持
2017年随着Oracle把Java EE交给开源基金会 , Java EE从此成为历史 , 接下来将由社区驱动的Jakarta EE取而代之 。

虽然Java EE已成过去式 , 但它似乎代表着我们的程序青春 , 依然是沟通的主力 。 因此 , 在很长很长很长一段时间内 , Java EE知名度依旧盖过Jakarta EE , 沟通交流中使用它居多 。
Tips:Java EE版本号和Java SE没有绝对联系 。 如即使到最新的Jakarta EE 9、9.1版本对JDK的最低要求是8 , 而非9
咱们程序员可能会吐槽Oracle为毛不让使用Java EE商标 , 这么搞太费劲了 。 但在Oracle眼中 , 可能 , 一切都是利益(Oracle号称是一个律师比工程师数量还多的高科技企业)
补充:什么是Eclipse基金会2004年2月该非盈利组织的正式成立 , 由包括开发者、消费者和插件提供商在内的各独立团体组成的董事会 , 为Eclipse的长期发展负责 , 它就是Eclipse基金会 。
该基金会最初只有19个开源项目 , 现在有300+个之多 , 我们比较熟悉的就有:

  • Java开发工具:功能强大的Java开发IDE Eclipse
  • 众多Jakarta项目:Jakarta Annotations、Jakarta Bean Validation、Jakarta JSON Processing等等
  • Vert.X:一个面向现代web和企业的异步应用框架 , 一个可能会撼动Spring地位的全家桶框架
另外 , 可把Eclipse基金会和Apache基金会对照着看 , 程序员对后者理应更熟悉些 。
什么是Jakarta EE
该名称的由来和两个大事记有关:
  1. 为了让Java EE更开放 , Oracle决定为它寻找一个新东家(呵呵 , 我笑而不语) 。 2017年8月 , Oracle将Java EE交给开源组织 , Eclipse基金会接手(Apache爆冷出局还是不想要?)
  2. Oracle拒绝让基金会继续使用Java名字 , 因此Eclipse做了一项名义调查 , 从Jakarta EE和Enterprise Profile两个名称中二选一 , 前者大比例胜出 。 所以在2018年3月份 , Eclipse宣布正式将Java EE更名为Jakarta EE , 并且确定了logo(如上图) 。 另外 , 跟着更名的还有一些和Java EE紧密相关的名词 , 如Glassfish -> Eclipse Glassfish;JCP -> EE.next;ODM(Oracle Development Management) -> PMC