Соотношение между версиями Java EE / J2EE и J2SE / JDK

java-ee java

23279 просмотра

3 ответа

Я был уверен, что найду повторяющийся вопрос или удовлетворительный ответ, но не нашел.

То, что я ищу, это ответ на эти вопросы:

  • Существует ли официальная корреляция между версиями Java EE / J2EE и J2SE / JDK?
  • Если ответ да, где это написано?
  • Если ответ нет, то почему? и есть ли неофициальная таблица версий (например, JDK 1.4 подходит для J2EE 1.3, JDK 1.5 подходит для J2EE 1.4, JDK 1.6 для Java EE 5 и т. д.)

Я могу придумать пару причин для расцепления, но не могу найти хороший справочный источник

Смежные вопросы:

Java SE против Java EE, колледж и карьера

Что такое Java EE?

Автор: Eran Medan Источник Размещён: 12.11.2019 09:34

Ответы (3)


22 плюса

Решение

Существует ли официальная корреляция между версиями Java EE / J2EE и J2SE / JDK?

Sun может попытаться сохранить какую-то «корреляцию», чтобы не вводить пользователей в заблуждение и в маркетинговых целях, но, AFAIK, нет , официальной корреляции нет (и поддержание псевдосинхронизации может стать более трудным в будущем, поскольку JDK развивается быстрее, чем Java ЕЕ спецификация).

ОБНОВЛЕНИЕ: я был неправ, на самом деле есть корреляция (см. Ниже). Но я все еще думаю, что это может стать проблемой: Java 7 запланирована на конец 2010 года, удастся ли группе экспертов развернуть Java EE 7 до Java 8 и Java 7 EOL?

Если ответ да, где это написано?

Цитирование домашней страницы спецификации JSR 151: JavaTM 2, Enterprise Edition 1.4 (J2EE 1.4) :

  • J2EE 1.4 - это Enterprise Edition версии 1.4 платформы Java, поэтому он будет построен на J2SE 1.4.

Цитирование домашней страницы спецификации JSR 244: Java (TM), Enterprise Edition 5 (Java EE 5) :

  • Java EE 5 является выпуском Enterprise Edition версии 5 платформы Java и, следовательно, будет построен на J2SE 5.0.

Цитирование JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Домашняя страница спецификации :

  • Java EE 6 является выпуском Enterprise Edition версии 6 платформы Java и, следовательно, будет построен на Java SE 6.

Серьезно, почему мы должны зайти на сайт JCP, чтобы найти это (возможно, я должен был начать там, хотя)?

Если ответ нет, то почему?

Java Enterprise Edition - это спецификация, а не реализация. Он может опираться на конкретные функции (например, Java EE 5 и Java 5 generics), но версия JDK фактически зависит от реализации используемого вами контейнера. Смотрите пример Websphere ниже. (Это все еще применяется, даже после большого ОБНОВЛЕНИЯ выше.)

и есть ли неофициальная таблица версий (например, JDK 1.4 подходит для J2EE 1.3, JDK 1.5 подходит для J2EE 1.4, JDK 1.6 для Java EE 5 и т. д.)

Как я уже говорил выше, « хорошо идет » на самом деле не имеет смысла, поскольку это зависит от используемого вами контейнера, и контейнеры могут иметь разные требования совместимости (например, сервер IBM WebSphere J2EE 1.4 может не работать с JDK 5). Так что я бы лучше сказал с точки зрения требований.

J2EE 1.4 SDK поставляется в комплекте с JDK 5, но ... J2EE 1.4 требует JDK 1.4 или более поздней версии. Java EE 5 требует JDK 5 или более поздней версии. Java EE 6 требует JDK 6 или более поздней версии (JDK 5 находится в EOL уже более 2 месяцев).

Автор: Pascal Thivent Размещён: 06.01.2010 07:58

3 плюса

Java EE - это набор спецификаций и эталонная реализация для этих спецификаций. Данная версия может зависеть от языковых функций, присутствующих в какой-либо версии JDK, или нет.

Вы можете думать о Java EE так же, как о любой сторонней платформе или библиотеке для Java. Нет никаких причин для того, чтобы номера версий Java EE и JDK имели какое-либо отношение друг к другу.

Автор: Jonathan Feinberg Размещён: 06.01.2010 04:02

2 плюса

Как правило, выпуски Java Enterprise выпускаются после JDK для тех же версий.

По сути, для последних нескольких выпусков у вас были следующие пакеты загрузки:
JDK 5 с J2EE 4.
JDK 5 с Java EE 5.
JDK 6 с Java EE 5.
JDK 6 с Java EE 6 (в настоящее время доступно только в Java EE страница, страница Java SE по-прежнему имеет JDK 6 с Java EE 5)

Обратите внимание, что эти пакеты загрузки на самом деле включают версию Sun EE Java (Glassfish в наши дни), которая отличается от версии Apache Java EE (Tomcat / Geronimo) или версии IBM EE Java (Websphere) от IBM.

Если вы решите не использовать Glassfish, вы можете загрузить только JDK6 и один из других пакетов Java EE. На данный момент Glassfish является единственным продуктом Java EE 6, так как только что вышла Java EE 6 и это эталонная реализация.

Автор: Powerlord Размещён: 06.01.2010 08:07
Вопросы из категории :
32x32