Java EE和Java SE:版本不匹配?

3
我一直在想Java EE与Java SE的版本之间是否有关联。我找到了这个问题,但是那里的答案已经过时并且令人不满意。我的问题是:
  • 是否存在EE和SE版本之间的紧密耦合,以至于Java EE 8只能与Java 1.8一起使用,Java EE 7只能与Java 1.7一起使用,依此类推?
  • 如果上述说法不正确(即可以混合使用版本),上述方法是否可行?在Java SE 1.8上运行Java EE 6是否有意义(仅作为示例)?
我知道Java EE只是一堆规范,但是这些规范是否在任何情况下都强制执行Java SE版本?

是的,它确实如此。使用两个不同版本,其中许多功能是共通的,这是没有意义的。我对惊喜持开放态度,但据我所知它确实在底层使用SE。证明在这里。它没有泄露太多细节,但应该足以满足您的需求。如果这个在任何方面对您有帮助。 - ha9u63a7
最适合于http://programmers.stackexchange.com/的内容。 - Sagar Pudi
@hagubear 我已经知道这些(你给的链接)。谢谢,但这并没有回答我的问题。 - ducin
2个回答

2

所以,虽然没有紧密的关联,但对于选择的应用服务器可能存在硬依赖关系,对吗?例如,Glassfish适用于EE7,适用于SE6和SE7(只是放一些虚假版本)- 是这样工作的吗? - ducin
@tkoomzaaskz 看起来是这样。还可以看一下这篇博客文章:“从Java EE的角度来看,Java EE 7规范要求至少使用Java SE 7。因此,显然没有什么阻止您在Java EE 7中使用Java SE 8。实际上,我们中的很多人每天都在使用早期版本的Java SE 8与GlassFish,没有任何问题!” - Hami Torun

1
根据Oracle文档此处所述:
Java EE
Java EE平台是在Java SE平台之上构建的。Java EE平台提供API和运行时环境,用于开发和运行大规模、多层、可扩展、可靠和安全的网络应用程序。
因此,理想情况下,在比较Java EE和Java SE版本时,Java SE必须高于或等于Java EE。根据这个声明,可以在Java SE 1.8上运行Java EE 6,但不能反过来。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接