我确信我会找到一个重复的问题或一个令人满意的答案,但我没有。
我正在寻找的是这些问题的答案:
我可以想到解耦的几个原因,但似乎无法找到一个好的参考源
相关问题:
答案 0 :(得分:21)
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) Specification主页:
- J2EE 1.4是Java平台1.4版的企业版,因此将构建在J2SE 1.4上。
引用JSR 244: Java(TM) Platform, Enterprise Edition 5 (Java EE 5) Specification主页:
- Java EE 5是Java平台版本5的企业版,因此将构建在J2SE 5.0上。
引用JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification主页:
- Java EE 6是Java平台版本6的企业版,因此将基于Java SE 6构建。
说真的,为什么我们必须去JCP网站找到这个(也许我应该从那里开始)?
如果答案是否定的,为什么?
Java Enterprise Edition是一个规范,而不是一个实现。它可能依赖于特定功能(如Java EE 5和Java 5泛型),但 JDK版本实际上取决于您正在使用的容器的实现。请参阅下面的Websphere示例。 (即使在上面的 UPDATE 之后,这仍然适用。)
并且是否存在非官方版本表(例如,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现在已经在EOL工作了2个月以上)。
答案 1 :(得分:3)
Java EE是一组规范和这些规范的参考实现。给定版本可能恰好取决于某些版本的JDK中存在的语言功能,或者可能不会。
您可以像考虑Java的任何第三方框架或库一样考虑Java EE。没有理由让Java EE和JDK的版本号彼此有任何关系。
答案 2 :(得分:2)
通常,Java Enterprise Editions在JDK之后出现相同的版本。
基本上,在过去的几个版本中,您已经拥有了这些下载包:
JDK 5与J2EE 4.
带有Java EE 5的JDK 5
带有Java EE 5的JDK 6
带有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)不同。
如果您选择不使用Glassfish,则只需下载JDK6和其他Java EE软件包。截至目前,Glassfish是唯一的Java EE 6产品,因为Java EE 6刚刚问世,它就是参考实现。