Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Correlation between Java EE / J2EE to J2SE / JDK versions

Tags:

I was certain that I'll find a duplicate question or a satisfying answer, but I haven't.

What I'm looking for is the answer to these questions:

  • Is there an official correlation between Java EE / J2EE and J2SE / JDK versions?
  • If the answer is yes, where is it written?
  • If the answer is no, then why? and is there an unofficial version table (e.g. JDK 1.4 goes well with J2EE 1.3, JDK 1.5 goes well with J2EE 1.4, JDK 1.6 with Java EE 5 and so on)

I can think of a couple of reasons for the uncoupling, but can't seem to find a good reference source

Related questions:

Java SE vs Java EE, college and career

What is Java EE?

like image 668
Eran Medan Avatar asked Jan 06 '10 15:01

Eran Medan


People also ask

Is JDK and J2SE same?

JDK: stands for Java Development Kit can be known as the most basic of Java, used to develop client side application (such as desktop application (use Swing, awt, ...) or Applet,...) J2EE: stands for Java Enterprise Edition used to develop application on Server side (such as Servlet, EJB,...)

What is the difference between J2SE vs J2EE?

J2SE (changed to Java SE) is considered the foundation edition of the Java platform and programming environment in which all other editions are based. J2EE (changed to Java EE) is the edition of the Java 2 platform targeted at developing multi-tier enterprise applications.

Is Java EE the same as J2EE?

For Java 5 in 2006, J2EE was renamed to Java EE or Java Platform Enterprise Edition. That name would stick all the way to September 2017, when something major happened. See, in September 2017, Oracle decided to give away the rights for Java EE to the Eclipse Foundation (the language is still owned by Oracle).

What is the relationship between Java SE and Java EE?

Java SE is for developing desktop applications Java EE is used for developing web applications and large-scale enterprise applications.


1 Answers

Is there an official correlation between Java EE / J2EE and J2SE / JDK versions?

Sun may try to keep some kind of "correlation" to not confuse users and for marketing purpose but, AFAIK, no, there is no official correlation (and maintaining the pseudo synchronisation might become harder in the future as the JDK evolves faster than the Java EE specification).

UPDATE: I was wrong, there is actually a correlation (see below). But I still think that this might become a problem: Java 7 is scheduled for late 2010, will the expert group succeed to roll out Java EE 7 before Java 8 and Java 7 EOL?

If the answer is yes, where is it written?

Quoting the JSR 151: JavaTM 2 Platform, Enterprise Edition 1.4 (J2EE 1.4) Specification home page:

  • J2EE 1.4 is the Enterprise Edition of version 1.4 of the Java platform, and thus will be built on J2SE 1.4.

Quoting the JSR 244: Java(TM) Platform, Enterprise Edition 5 (Java EE 5) Specification home page:

  • Java EE 5 is the Enterprise Edition of version 5 of the Java platform, and thus will be built on J2SE 5.0.

Quoting the JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification home page:

  • Java EE 6 is the Enterprise Edition of version 6 of the Java platform, and thus will be built on Java SE 6.

Seriously, why do we have to go to the JCP website to find this (maybe I should have started there though)?

If the answer is no, then why?

Java Enterprise Edition is a specification, not an implementation. It might rely on specific features (like Java EE 5 and Java 5 generics) but the JDK version is actually dependent upon the implementation of the container you are using. See the Websphere example below. (This still applies, even after the big UPDATE above.)

and is there an unofficial version table (e.g. JDK 1.4 goes well with J2EE 1.3, JDK 1.5 goes well with J2EE 1.4, JDK 1.6 with Java EE 5 and so on)

As I said above, "goes well" doesn't really makes sense as this depends on the container you are using and containers might have different compatibility requirements (for example IBM WebSphere's J2EE 1.4 server may not work with JDK 5). So, I'd rather speak in terms of requirements.

The J2EE 1.4 SDK is bundled with JDK 5 but... J2EE 1.4 requires JDK 1.4 or later. Java EE 5 requires JDK 5 or later. Java EE 6 requires JDK 6 or later (JDK 5 is at its EOL for 2+ months now).

like image 75
Pascal Thivent Avatar answered Oct 28 '22 23:10

Pascal Thivent