java - descargar - jdk
La versión de Java cambia automáticamente a Java 1.5 después de la actualización de Maven (10)
Abra su archivo
pom.xml
y agregue las siguientes líneas:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Donde
1.8
es la versión Java de su JDK / JRE actual.
Otra forma de hacer esto es agregar un
<build>
con el
maven-compile-plugin
como
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version> <!-- or whatever current version -->
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
EDITAR
Si está buscando una manera de hacerlo funcionar con las versiones de Java 9+, eche un vistazo a @JDelorean''s answer @JDelorean''s aquí abajo y no olvide darle un voto positivo también :)
Estoy usando eclipse como IDE. Cuando hago clic derecho en el proyecto y luego hago clic en actualizar Maven, mi versión de Java cambia a 1.5. Esto es lo que hice hasta ahora, seguí todos los pasos enumerados aquí
- Cambié "Ruta de compilación de Java" a "espacio de trabajo predeterminado jre 1.8.0_25"
- Luego cambió el "compilador de Java" a 1.8
- Luego cambió "facetas del proyecto"> java> 1.8
- Cambió la versión java de pom.xml a 1.8
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.1.3.v20140225</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Después de todo esto cuando hago clic en "Actualización de Maven", mi versión de Java cambia a 1.5 automáticamente. También en los pasos anteriores, la versión de los dos primeros pasos también cambia a 1.5 automáticamente. ¿Cómo puedo arreglar esto?
Agregue estas líneas a su pom.xml, luego haga clic con el botón derecho en la Biblioteca del sistema JRE -> Propiedades -> Establezca su entorno de ejecución correcto en Java 1.8 o la versión que desea configurar.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version> <!-- or whatever current version -->
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Cambié Eclipse de kepler a neón y luego actualicé mi proyecto con Maven -> Actualizar proyecto.
En mi caso (antiguo JBoss Developer Studio), el problema era que los entornos JRE no incluían 1.8 (solo 1.7).
Cuando
maven-compiler-plugin
versión del
maven-compiler-plugin
a 1.7 e hice el proyecto de actualización de maven, actualicé la biblioteca del sistema Eclipse JRE a 1.7.
Entonces, la solución es obtener una versión IDE más nueva que incluya un entorno JRE incorporado que sea 1.8 o posterior, o intentar instalarlo manualmente (consulte https://.com/a/35204314 )
He resuelto el problema instalando la actualización de eclipse "JAVA 12" del mercado. Hace que mi eclipse pase de Kepler a Luna.
Después de eso, he podido configurar 1.8 como JDK estándar, solucionando el problema de "actualización maven".
La causa raíz de este problema es que si
por alguna razón
Eclipse no puede resolver un valor
válido
para la propiedad
maven.compiler.source
al generar / actualizar el archivo .classpath desde el pom, simplemente usará
org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5
predeterminada.
org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5
.
Según la respuesta experta de , hay varias formas de establecer esa propiedad.
Sin embargo, la respuesta de Jorge no pareció funcionar para mí. Aquí estaban mis configuraciones:
<properties>
<javaVersion>1.8</javaVersion>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
</properties>
...
Exactamente.
${java.version}
nunca
resolverá la propiedad (completamente diferente)
javaVersion
y Eclipse ignoró la propiedad y usó el valor predeterminado.
Lo que me lleva de vuelta a la parte " por cualquier motivo " con la que abrí; La estupidez del desarrollador puede ser una de esas razones.
Me encuentro con un problema similar en una de las máquinas de mi compañero de equipo. Estaba usando una versión antigua de Eclipse, creo que estaba usando Keppler. Proyecto después de ser actualizado, cambie la versión de JRE a 1.5.
La simple actualización de Eclipse a la última versión resuelve este problema.
Me permito actualizar ese tema con Java 11.
He instalado OpenJDK11 en mi computadora y quería usarlo en una aplicación.
Tuve problemas porque Eclipse siempre cambiaba mi JRE a JavaSE-1.5 cuando actualizaba mi proyecto con Maven.
Había configurado todo como dijiste, pero siempre estaba seleccionando directamente en mi Java Build Path "java-11-openjdk.x86_64" como uno de mis JRE alternativos. Solucioné mi problema seleccionando en "Entorno de ejecución" JavaSE-10 (pero tiene que hacer doble clic en él y luego elegir como JRE compatible su versión OpenJDK11) como se muestra en la imagen. Configuración del entorno de ejecución
El proyecto utilizará Java 11 gracias a eso (imagen), pero debe escribir 10 para la versión java en pom.xml y también establecer java 10 en las facetas del proyecto.
Tuve el mismo problema cuando instalé Java 9. Mi proyecto usaría el entorno de ejecución J2SE-1.5 predeterminado. Curiosamente, el nivel de cumplimiento de Java 9 no se menciona como las versiones anteriores, es decir, "1.8", sino como "9". Así que tuve que proporcionar mis propiedades y la configuración del complemento del compilador Maven en consecuencia:
<properties>
<maven.compiler.source>9</maven.compiler.source>
<maven.compiler.target>9</maven.compiler.target>
</properties>
y
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>9</source>
<target>9</target>
</configuration>
</plugin>
Esto parece haber resuelto el problema.
Tuve este problema En mi caso, la etiqueta <properties> y las etiquetas anidadas que Jorge Campos mencionó anteriormente estaban en el lugar equivocado. Si los coloco entre las etiquetas <hostversion> y <dependencies> en el archivo pom.xml, entonces este comportamiento se detiene.
Eso puede recogerse en Eclipse si la validación de estos archivos está activada.