代码之家  ›  专栏  ›  技术社区  ›  Eran Medan

JavaEE/J2EE与J2SE/JDK版本的相关性

  •  23
  • Eran Medan  · 技术社区  · 14 年前

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

    我要找的是这些问题的答案:

    • Java EE/J2EE和J2SE/JDK版本之间是否存在官方关联?
    • 如果答案是“是”,写在哪里?
    • 如果答案是否定的,那为什么呢?是否有非官方版本表(例如JDK 1.4与J2EE 1.3很好,JDK 1.5与J2EE 1.4,JDK 1.6与JavaEE 5等等)很好地结合在一起)

    我可以想出一些解钩的原因,但似乎找不到一个好的参考源。

    相关问题:

    Java SE vs Java EE, college and career

    What is Java EE?

    3 回复  |  直到 7 年前
        1
  •  21
  •   Arjan Tijms UML GURU    11 年前

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

    Sun可能试图保持某种“相关性”,以避免混淆用户和营销目的,但是,Afaik, 没有正式的相关性(并且随着JDK比JavaEE规范更快地发展,保持伪同步可能会变得更加困难)。

    更新: 我错了,实际上有一个相关性(见下文)。但我仍然认为这可能成为一个问题: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上。

    引用 JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification 主页:

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

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

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

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

    是否有非官方版本表(例如JDK 1.4与J2EE 1.3很好,JDK 1.5与J2EE 1.4,JDK 1.6与JavaEE 5等等)很好地结合在一起)

    正如我上面所说, 进展顺利 “这并不真正有意义,因为这取决于您使用的容器,并且容器可能具有不同的兼容性要求(例如,IBM WebSphere的J2EE1.4服务器可能无法与JDK5一起工作)。所以,我宁可按要求说话。

    J2EE1.4sdk与JDK5捆绑在一起,但是…J2EE 1.4需要JDK 1.4或更高版本。JAVA EE 5需要JDK 5或更高版本。JAVA EE 6需要JDK 6或更高版本(JDK 5现在在其EOL上2个月)。

        2
  •  3
  •   Arjan Tijms UML GURU    11 年前

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

    您可以用与Java有关的任何第三方框架或库的方式来看待JavaEE。JavaEE和JDK的版本号根本没有理由相互关联。

        3
  •  2
  •   Arjan Tijms UML GURU    11 年前

    一般来说,Java企业版本在JDK之后针对相同版本而出现。

    基本上,对于过去的几个版本,您已经有了这些下载包:
    JDK 5和J2EE 4。
    JDK 5与Java EE 5。
    JDK 6与Java EE 5。
    JDK 6与Java EE 6(目前只能从Java EE页面获得,JavaSE页面仍有JDK 6与Java EE 5)

    请注意,这些下载包实际上包括Sun的JavaEE版本(GalasFISH这些天),这与Apache版本的JavaEE(Tomcat/杰罗尼莫)或IBM版本的JavaEE(WebSphere)不同。

    如果您选择不使用GLASISFISH,可以下载JDK6和其他JavaEE包。就目前而言,GalasFISH是唯一的Java EE 6产品,因为Java EE 6刚刚问世,它是参考实现。

    推荐文章