2

I was under the impression that the release of Java SE 8 would come together with Java EE 8, yet I cannot find it anywhere.

It seems that it will be released later? 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

So there is no connection between the 2? Java SE 8 still goes along with Java EE 7?

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
benji
  • 2,331
  • 6
  • 33
  • 62
  • Your question had no answer at the time you asked it, since the EE 8 specification was only released on September 21 (which was also the release date of Java 9). You can download the spec from here: https://jcp.org/aboutJava/communityprocess/final/jsr366/index.html – skomisa Oct 29 '17 at 06:32
  • And here's a link to the Javadoc API for EE 8: https://javaee.github.io/javaee-spec/javadocs/ – skomisa Oct 29 '17 at 06:33
  • Finally, here's a link to the EE 8 Tutorial: https://javaee.github.io/tutorial/toc.html – skomisa Oct 29 '17 at 06:34

2 Answers2

5

Java EE and Java SE are released separately and the versions do not match. Java EE is a set of APIs (e.g. JMS for messaging, JPA for Object-Relational-Mapping to databases, JSF and JSP for webpages) which is implemented by different vendors of application servers (e.g. Oracle, IBM, Red Hat...) and extends Java SE. If you don't need any functionality from the Java EE APIs you are totally fine with just the plain Java SE.

Wikipedia defines Java EE as:

Java EE extends the Java Platform, Standard Edition (Java SE), providing an API for object-relational mapping, distributed and multi-tier architectures, and web services.

Wiki links:

Java platform: 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

Korgen
  • 5,191
  • 1
  • 29
  • 43
  • 5
    The names cause confusion. Conceptually Java EE is more like a third-party library or framework than "pure" Java, but the names Java SE and Java EE make it sound as if we can choose between the two. – DavidS Apr 15 '16 at 19:06
  • 1
    Answer and comment are correct. Indeed you can even select individual libraries desired from Java EE and run them on a machine with Java SE. For example, use [Java Servlet](https://en.wikipedia.org/wiki/Java_servlet) technology (defined as part of Java EE) by running [Tomcat](http://tomcat.apache.org/), Jetty, and such on Java SE. – Basil Bourque Apr 15 '16 at 19:10
  • I think that the accepted answer is not quite correct. I also came across this answer that seems to say the opposite - and backed by JSR documentation: https://stackoverflow.com/questions/2013958/correlation-between-java-ee-j2ee-to-j2se-jdk-versions#answer-2015780 – Victor Oct 23 '19 at 11:12
1

The Java EE platform is built on top of the Java SE platform, but they are not released together.

For instance, both Java EE 8 and Java SE 9 were released on 21st September 2017. But Java EE 8 requires Java SE 8 that released on 18th March 2014.

The Java SE platform

The Java SE platform provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

The Java EE platform

The Java EE platform is built on top of the Java SE platform and provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Since September 2017 the Java EE 8 API artifacts are available on Maven:

Java EE 8 Platform

<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>
cassiomolin
  • 124,154
  • 35
  • 280
  • 359