为什么Java EE版本与Java SE版本不匹配?

时间:2016-04-15 16:39:58

标签: java java-ee

我的印象是Java SE 8的发布将与Java EE 8一起发布,但我无法在任何地方找到它。

它似乎会在稍后发布? https://en.wikipedia.org/wiki/Java_EE_version_history#Java_EE_8_.28JSRs_approved_on_22_Sep.2C_2014.2C_expected_Q3_2016_or_first_half_2017_Final_Release.29

所以2之间没有联系? Java SE 8仍然与Java EE 7一起使用?

2 个答案:

答案 0 :(得分:5)

Java EE和Java SE是单独发布的,版本不匹配。 Java EE是一组API(例如用于消息传递的JMS,用于数据库的对象关系映射的JPA,用于网页的JSF和JSP),implemented by different vendors of application servers(例如Oracle,IBM,Red Hat ......)并扩展Java SE。如果您不需要Java EE API中的任何功能,那么只使用普通的Java SE就可以了。

Wikipedia将Java EE定义为:

  

Java EE扩展了Java平台标准版(Java SE),   为对象关系映射提供API,分布式和   多层体系结构和Web服务。

维基链接:

Java平台: https://en.wikipedia.org/wiki/Java_(software_platform)

Java SE: https://en.wikipedia.org/wiki/Java_Platform,_Standard_Edition

Java EE: https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition

答案 1 :(得分:1)

Java EE平台构建于Java SE平台之上,但它们并未一起发布。

例如,Java EE 8和Java SE 9都发布于2017年9月21日 st 。但Java EE 8需要在18月 th 3月发布的Java SE 8 2014。

Java SE平台

Java SE平台提供Java编程语言的核心功能。它定义了从Java编程语言的基本类型和对象到用于网络,安全性,数据库访问和XML解析的高级类的所有内容。

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

Java EE平台

Java EE平台构建于Java SE平台之上,为开发和运行大规模,多层,可伸缩,可靠和安全的网络应用程序提供API和运行时环境。

自2017年9月起,Maven上提供了Java EE 8 API工件:

Java EE 8平台

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>8.0</version>
    <scope>provided</scope>
</dependency>

Java EE 8 Web Profile

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>8.0</version>
    <scope>provided</scope>
</dependency>