---
title: "Java 17 (OpenJDK 17) como JVM por defecto"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/3718643793/Java%2017%20(OpenJDK%2017)%20como%20JVM%20por%20defecto"
format: markdown
---
> Macro (toc)

> ℹ️ Disponible desde Release 5.1 de Onesait Platform

# Introducción

Se ha migrado y certificado la plataforma para utilizar por defecto la **última versión LTS de Java, la 17,** como JVM para todos los módulos de la plataforma.

Con esto se garantiza, si algún proyecto lo neccesita, el soporte a largo plazo de la JVM mediante Oracle Java SE según el siguiente calendario de releases:

![image](media://d97a29f8-b97d-4dbe-a3ed-bf4ee6f908fa)

A la vez que permite a los desarrolladores utilizar las ultimas novedades de Java así como cualquier librería de terceros sin compatibilidad para Java 8.

# Proceso de migración

El proceso de migración a Java 17 para un proyecto como Onesait Platform ha pasado por los siguientes pasos:

- A nivel de código fuente, al tratarse de un proyecto Maven con un pom padre que centraliza toda la configuración de la JVM, basta con modificar la versión de Java a utilizar.

```
	<java.version>17</java.version>
	<maven.compiler.source>17</maven.compiler.source>
	<maven.compiler.target>17</maven.compiler.target>
```

- Recompilar y pasar todos los test de la plataforma utilizando OpenJDK-17 y resolver cualquier problema. En nuestro caso resolverlos fue bastante sencillo y se resolvió subiendo de versión alguna libreria de terceros y tocando alguna línea de código.
- Contenerizar todos los módulos de la plataforma para que utilicen OpenJDK-17-jre en vez de OpenJDK-1.8. En este caso, la plataforma dispone de una imagen base para todos sus módulos, de manera que todos tengan una configuración de sistema operativo y software unificada, siendo la JRE parte de esa configuración. De este modo cambiar de JVM a nivel global se hace desde el Dockerfile de la imagen base, construyendo dicha imagen y actualizandola en el registro.

```
FROM alpine:3.15

RUN apk --update add openjdk17-jre-headless

```

![image](media://4808a6b5-725d-41f0-a54c-9fa6eed8b283)

- Instalar OpenJDK-17 en nuestros sistemas CI/CD (Jenkins) para construir la plataforma.
- Hacer un despliegue de la plataforma y ejecutar una bateria completa de pruebas para certificar la plataforma.