Java EE / J2EE与J2SE / JDK版本之间的关联

我确信我会find一个重复的问题或满意的答案,但我没有。

我正在寻找的是这些问题的答案:

  • Java EE / J2EE和J2SE / JDK版本之间是否存在正式关联?
  • 如果答案是肯定的,那写在哪里?
  • 如果答案是否定的,那为什么? 并有一个非官方的版本表(例如,JDK 1.4与J2EE 1.3良好,JDK 1.5与J2EE 1.4良好,JDK 1.6与Java EE 5等)

我可以想到解耦的几个原因,但似乎找不到一个好的参考源

相关问题:

Java SE与Java EE,大学和职业

什么是Java EE?

Java EE / J2EE和J2SE / JDK版本之间是否存在正式关联?

Sun可能会试图保持某种“相关性”,以免混淆用户和营销目的,但是,AFAIK, ,没有官方关联(并且由于JDK的发展速度比Java快EE规范)。

更新:我错了,实际上有一个相关性(见下文)。 但是我仍然认为这可能会成为一个问题:Java 7预计在2010年末,专家组将成功在Java 8和Java 7 EOL之前推出Java EE 7吗?

如果答案是肯定的,那写在哪里?

引用JSR 151:JavaTM 2 Platform,Enterprise Edition 1.4(J2EE 1.4)规范主页:

  • J2EE 1.4是Java平台1.4版的企业版,因此​​将构build在J2SE 1.4上。

引用JSR 244:Java(TM)平台,企业版5(Java EE 5)规范主页:

  • Java EE 5是Java平台第5版的企业版,因此​​将构build在J2SE 5.0上。

引用JSR 316:JavaTM平台企业版6(Java EE 6)规范主页:

  • Java EE 6是Java平台版本6的企业版,因此​​将构build在Java SE 6上。

说真的,为什么我们不得不去JCP的网站find这个(也许我应该从那里开始)?

如果答案是否定的,那为什么?

Java企业版是一个规范,而不是一个实现。 它可能依赖于特定的function(如Java EE 5和Java 5generics),但是JDK版本实际上取决于您正在使用的容器的实现。 请参阅下面的Websphere示例。 (即使在上面的更新之后,这仍然适用。)

并有一个非官方的版本表(例如,JDK 1.4与J2EE 1.3良好,JDK 1.5与J2EE 1.4良好,JDK 1.6与Java EE 5等)

正如我上面所说,“ 顺利 ”没有什么意义,因为这取决于你使用的容器,容器可能有不同的兼容性要求(例如,IBM WebSphere的J2EE 1.4服务器可能不适用于JDK 5)。 所以,我宁愿说要求。

J2EE 1.4 SDK与JDK 5捆绑在一起,但是… J2EE 1.4需要JDK 1.4或更高版本。 Java EE 5需要JDK 5或更高版本。 Java EE 6需要JDK 6或更高版本(现在JDK 5在2个月以上的时候是EOL)。

Java EE是这些规范的一组规范和参考实现。 一个给定的版本可能碰巧依赖于JDK的某个版本中存在的语言特性,或者可能不会。

您可以像使用Java的第三方框架或库一样思考Java EE。 Java EE和JDK的版本号没有任何关系。

一般来说,Java Enterprise Edition在JDK之后出现的版本相同。

基本上,在过去的几个版本中,你有这些下载包:
JDK 5与J2EE 4。
JDK 5与Java EE 5。
JDK 6与Java EE 5。
带有Java EE 6的JDK 6(目前只能从Java EE页面获得,Java SE页面仍然带有Java EE 5的JDK 6)

请注意,这些下载包实际上包括Sun的Java EE版本(Glassfish现在这些日子)​​,它不同于Apache的Java EE版本(Tomcat / Geronimo)或IBM的Java EE版本(Websphere)。

如果您select不使用Glassfish,则只能下载JDK6和其他Java EE软件包之一。 截至目前,Glassfish是唯一的Java EE 6产品,因为Java EE 6刚刚问世,并且是参考实现。

Java EE和Java SE之间的区别Java技术既是一种编程语言,也是一种平台。 Java编程语言是一种具有特定语法和风格的高级面向对象语言。 Java平台是Java编程语言应用程序运行的特定环境。

有几个Java平台。 许多开发人员,甚至是长期的Java编程语言开发人员,都不明白不同的平台是如何相互关联的。

Java编程语言平台Java编程语言有四个平台:

Java平台标准版(Java SE)

Java平台企业版(Java EE)

Java平台,微型版(Java ME)

JavaFX的

所有Java平台都由Java虚拟机(VM)和应用程序编程接口(API)组成。 Java虚拟机是运行Java技术应用程序的程序,用于特定的硬件和软件平台。 API是可以用来创build其他软件组件或应用程序的软件组件的集合。 每个Java平台都提供了一个虚拟机和一个API,这使得为该平台编写的应用程序可以在任何兼容的系统上运行,具有Java编程语言的所有优点:平台独立性,功耗,稳定性,易于开发和安全。

Java SE当大多数人想到Java编程语言时,他们会想到Java SE API。 Java SE的API提供了Java编程语言的核心function。 它定义了从Java编程语言的基本types和对象到用于networking,安全性,数据库访问,graphics用户界面(GUI)开发和XMLparsing的高级类的所有内容。

除了核心API之外,Java SE平台还包括虚拟机,开发工具,部署技术以及Java技术应用程序中常用的其他类库和工具包。

Java EE Java EE平台build立在Java SE平台之上。 Java EE平台为开发和运行大规模,多层次,可扩展,可靠和安全的networking应用程序提供了API和运行时环境。

Java ME Java ME平台提供了一个API和一个占用空间小的虚拟机,用于在小型设备(如手机)上运行Java编程语言应用程序。 API是Java SE API的一个子集,以及用于小型设备应用程序开发的特殊类库。 Java ME应用程序通常是Java EE平台服务的客户端。

JavaFX JavaFX是一个使用轻量级用户界面API创build富互联网应用程序的平台。 JavaFX应用程序使用硬件加速的graphics和媒体引擎,以利用更高性能的客户端和现代的外观以及高级API来连接到networking数据源。 JavaFX应用程序可能是Java EE平台服务的客户端。