java-ee - para - java ee tutorial español
Correlación entre las versiones de Java EE/J2EE a J2SE/JDK (3)
Estaba seguro de que encontraría una pregunta duplicada o una respuesta satisfactoria, pero no lo hice.
Lo que estoy buscando es la respuesta a estas preguntas:
- ¿Existe una correlación oficial entre las versiones de Java EE / J2EE y J2SE / JDK?
- Si la respuesta es sí, ¿dónde está escrita?
- Si la respuesta es no, ¿por qué? y hay una tabla de versión no oficial (por ejemplo, JDK 1.4 va bien con J2EE 1.3, JDK 1.5 va bien con J2EE 1.4, JDK 1.6 con Java EE 5 y así sucesivamente)
Puedo pensar en un par de razones para el desacoplamiento, pero parece que no puedo encontrar una buena fuente de referencia
Preguntas relacionadas:
¿Existe una correlación oficial entre las versiones de Java EE / J2EE y J2SE / JDK?
Sun puede intentar mantener algún tipo de "correlación" para no confundir a los usuarios y con fines de marketing, pero, AFAIK, no , no hay una correlación oficial (y el mantenimiento de la pseudo sincronización puede ser más difícil en el futuro ya que el JDK evoluciona más rápido que el Java Especificación EE).
ACTUALIZACIÓN: estaba equivocado, en realidad hay una correlación (ver abajo). Pero todavía creo que esto podría convertirse en un problema: Java 7 está programado para fines de 2010, ¿logrará el grupo de expertos implementar Java EE 7 antes de Java 8 y Java 7 EOL?
Si la respuesta es sí, ¿dónde está escrita?
Citando la página de inicio de la especificación JSR 151: Plataforma JavaTM 2, Enterprise Edition 1.4 (J2EE 1.4) :
- J2EE 1.4 es la versión Enterprise Edition de la versión 1.4 de la plataforma Java y, por lo tanto, se compilará en J2SE 1.4.
Citando la página de inicio de la especificación JSR 244: Plataforma Java (TM), Enterprise Edition 5 (Java EE 5) :
- Java EE 5 es la versión Enterprise de la versión 5 de la plataforma Java y, por lo tanto, se compilará en J2SE 5.0.
Citando la página de inicio de la especificación JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) :
- Java EE 6 es la versión Enterprise Edition de la versión 6 de la plataforma Java y, por lo tanto, se compilará en Java SE 6.
En serio, ¿por qué tenemos que ir al sitio web de JCP para encontrar esto (tal vez debería haber empezado allí)?
Si la respuesta es no, ¿por qué?
Java Enterprise Edition es una especificación, no una implementación. Puede depender de características específicas (como los genéricos Java EE 5 y Java 5), pero la versión de JDK depende de la implementación del contenedor que está utilizando. Vea el ejemplo de Websphere a continuación. (Esto todavía se aplica, incluso después de la gran ACTUALIZACIÓN anterior).
y hay una tabla de versión no oficial (por ejemplo, JDK 1.4 va bien con J2EE 1.3, JDK 1.5 va bien con J2EE 1.4, JDK 1.6 con Java EE 5 y así sucesivamente)
Como dije anteriormente, " va bien " realmente no tiene sentido ya que depende del contenedor que está utilizando y los contenedores pueden tener diferentes requisitos de compatibilidad (por ejemplo, el servidor J2EE 1.4 de IBM WebSphere puede no funcionar con JDK 5). Por lo tanto, prefiero hablar en términos de requisitos.
El J2EE 1.4 SDK se incluye con JDK 5 pero ... J2EE 1.4 requiere JDK 1.4 o posterior. Java EE 5 requiere JDK 5 o posterior. Java EE 6 requiere JDK 6 o posterior (JDK 5 está en su EOL por más de 2 meses).
En general, las Java Enterprise Editions aparecen después del JDK para las mismas versiones.
Básicamente, en las últimas ediciones, has tenido estos paquetes de descarga:
JDK 5 con J2EE 4.
JDK 5 con Java EE 5.
JDK 6 con Java EE 5.
JDK 6 con Java EE 6 (actualmente solo disponible en la página de Java EE, la página de Java SE aún tiene JDK 6 con Java EE 5)
Tenga en cuenta que estos paquetes de descarga en realidad incluyen la versión de Sun de Java EE (Glassfish actualmente), que es diferente a la versión de Apache de Java EE (Tomcat / Geronimo) o la versión de IBM de Java EE (Websphere).
Si elige no usar Glassfish, puede descargar solo JDK6 y uno de los otros paquetes de Java EE. A partir de ahora, Glassfish es el único producto Java EE 6, ya que acaba de salir Java EE 6 y es la implementación de referencia.
Java EE es un conjunto de especificaciones y una implementación de referencia para esas especificaciones. Una versión determinada puede depender de las características del lenguaje presentes en alguna versión del JDK o no.
Puede pensar en Java EE de la misma forma en que piensa en un marco o biblioteca de terceros para Java. No hay ninguna razón para que los números de versión de Java EE y el JDK tengan algo que ver el uno con el otro.