Saltar al contenido

¿Cómo especificar la versión de Java 11 en Spring/Spring Boot pom.xml?

Luego de indagar en diversos repositorios y páginas al concluir hemos hallado la resolución que te enseñamos pronto.

Solución:

Respuesta corta:

La forma correcta es usar los siguientes valores en para diferentes versiones de Java:

  • Java 8: 1.8 u 8
  • java 9 : 9
  • java 10 : 10
  • java 11 : 11
  • java 12 : 12

Entonces, para Java 11, debería ser:


   11

Sin embargo, no estoy seguro de si Java 11 sería “1.11” (parece poco probable), y lo he visto especificado como solo “11” cuando uso maven-compiler-plugin, sin embargo, no estoy usando el complemento del compilador.

En realidad, al final todavía usa maven-compiler-plugin compilar. Springboot solo configura un propiedad tal que al cambiar este valor, está cambiando implícitamente maven-compiler-plugin ‘s y al mismo valor que lo especificado en el :


    org.apache.maven.plugins
    maven-compiler-plugin
    3.8.0
    
        11  
        11    
    


Respuesta detallada:

Parece que quieres detalles para convencerte.

Es porque cada proyecto de arranque de primavera extenderá el pom principal. spring-boot-starter-parent que define como sigue:


    1.8
    $java.version
    $java.version

De los documentos de maven-compiler-plugin, maven.compiler.source y maven.compiler.target son propiedad del usuario para el y parámetros de configuración. Debido al comportamiento de la propiedad de usuario, establecer estas dos propiedades en 11 significa establecer lo siguiente:


    org.apache.maven.plugins
    maven-compiler-plugin
    3.8.0
    
        11   
        11 
    

Desde el maven-compiler-plugin documentos de nuevo, y son los -source y -target argumento para el compilador de Java (javac). Luego, desde los documentos de javac, podemos ver que estos dos argumentos pueden tener los siguientes valores:

  • 1.6: No se introdujeron cambios de idioma en Java SE 6. Sin embargo, los errores de codificación en los archivos de origen ahora se informan como errores en lugar de advertencias, como se hacía en versiones anteriores de Java Platform, Standard Edition.
  • 6 : Sinónimo de 1.6.
  • 1.7: el compilador acepta código con características introducidas en Java SE 7.
  • 7 : Sinónimo de 1.7.
  • 1.8: el compilador acepta código con características introducidas en Java SE 8.
  • 8 : Sinónimo de 1.8.
  • 9: el compilador acepta código con características introducidas en Java SE 9.
  • 10: el compilador acepta código con características introducidas en Java SE 10.
  • 11: el compilador acepta código con características introducidas en Java SE 11.
  • 12: el compilador acepta código con características introducidas en Java SE 12.

Por eso, debe establecerse en 11 para Java 11.

Lo estoy agregando como respuesta para que pueda ser útil para más personas:

Desde Java 9 las versiones se especifican como 9, 10, 11y así sucesivamente, en lugar de 1.8, 1.7etc. Algunas lecturas adicionales aquí.

La forma en que está especificando la versión JDK con 11 es correcto. Fue presentado con maven-compiler-plugin 3.6 y es equivalente a la forma antigua, como se muestra a continuación:


  
    org.apache.maven.plugins
    maven-compiler-plugin
    3.8.0
    
      11 -- Using JDK 11 to compile
      11 -- Using JDK 11 as target
    
  

Esta publicación puede ser útil para usar maven-compiler-plugin con JDK11.

Si alguien busca especificar Java 11 como la versión que se usará en Spring (o Spring Boot) en un grado proyecto, luego use sourceCompatibility = ’11’ o sourceCompatibility = ‘1.11’ en su archivo build.gradle

plugins 
id 'org.springframework.boot' version '2.1.4.RELEASE'


apply plugin: 'io.spring.dependency-management'

group = 'au.com.ranuka'
version = '0.0.1-SNAPSHOT'

sourceCompatibility = '11'
//or 
sourceCompatibility = '1.11'

repositories 
   mavenCentral()


dependencies 


Si te ha resultado de ayuda este post, agradeceríamos que lo compartas con otros seniors así contrubuyes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *