java - flag - Error grave al compilar: versión de destino no válida: 1.8->
javac invalid target release 1.8 netbeans (14)
Como mencionó Camila Macedo: debe señalar explícitamente la versión de Java para el compilador-complemento. Para el arranque de primavera, puede hacerlo mediante la siguiente propiedad:
<properties>
<java.version>1.8</java.version>
<maven.compiler.release>8</maven.compiler.release>
</properties>
Problema similar al publicado en una versión de destino no válida: 1.7 pero después de seguir el blog, mi problema aún no se ha resuelto.
Error al ejecutar el objetivo org.apache.maven.plugins: maven-compiler-plugin: 3.1: compile (default-compile) on project hm_app: Error grave al compilar: versión de destino no válida: 1.8 -> [Ayuda 1]
Estaba siguiendo como tutorial cuando me enfrenté a este problema.
abt java & mvn
C:/mvn>echo %JAVA_HOME%
C:/mvn>echo %JRE_HOME%
C:/mvn>echo %MAVEN_HOME% yields
salidas
C:/Program Files/Java/jdk1.7.0_51
C:/Program Files/Java/jre7
C:/apache-maven-3.0.4
El problema al que me enfrentaba era que podía hacer una compilación maven desde el símbolo del sistema pero no desde Eclipse. Lo que funcionó para mí en eclipse es que cambié la configuración de ejecución para apuntar a la carpeta JRE dentro de JDK en lugar de dejarla en Carpeta JDK solo según el estándar. Esta solución puede funcionar para usted también, pero intente esto si y solo si todas las rutas de Java son correctas, Java y Java muestran la misma versión que está presente en el objetivo de pom.xml.
El problema se resolvió porque tenía un JDK apuntando a 1.7 y JRE apuntando a 1.8. Compruebe en el símbolo del sistema mi escritura
java -version
y
javac -version.
Ambos deberían ser lo mismo.
En la máquina Windows, puede configurar temporalmente la versión de Java.
Por ejemplo, para cambiar la versión a Java 8, ejecute este comando en
cmd
:
set JAVA_HOME=C://.../jdk1.8.0_65
En mi caso, la "configuración de ejecución" de Maven estaba usando el JRE incorrecto (1.7). Asegúrese de marcar Ejecutar -> Ejecutar configuraciones -> (Pestaña) JRE para que sea jdk1.8.x.
Esta pregunta no era explícitamente sobre Docker, pero recibí el mismo error cuando tenía un archivo pom.xml dirigido a 1.9 ...
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.9</maven.compiler.source>
<maven.compiler.target>1.9</maven.compiler.target>
</properties>
... pero luego intentó ejecutar pruebas contra un contenedor Docker especificando "maven" por sí mismo.
docker run -t --rm -v m2_repository:/root/.m2/repository -v $(pwd):/work -w /work maven mvn -e test
Para mí, la solución era apuntar a la versión exacta que necesitaba.
docker run -t --rm -v m2_repository:/root/.m2/repository -v $(pwd):/work -w /work maven:3.5.2-jdk-9 mvn test
(Puedes obtener más información aquí ).
Ha configurado su
%JAVA_HOME
en jdk 1.7, pero está intentando compilar usando 1.8.
Instale jdk 1.8 y asegúrese de que su
%JAVA_HOME
apunte a eso o baje la versión de destino a 1.7.
lanzamiento objetivo inválido: 1.8
La versión de destino se refiere a la versión jdk.
Lo que funcionó en mi caso es esto:
Abrí el
pom.xml
y reemplacé uno de los complementos como se muestra a continuación.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
Antes de editar las etiquetas de origen y destino, ambas tenían
1.8
, cambié eso a
1.7
y funcionó.
Me enfrenté a este problema al implementar Dokku, por alguna razón estaba eligiendo JDK 1.7
Crear un archivo
system.properties
y configurar
java.runtime.version=1.8
resolvió el problema.
Dokku ahora usa Java versión 8.
Elegir un JDK en Heroku
Nunca tuve que hacerlo antes ...
Para eclipse, así es como resolví mi problema:
-
Preferencias -> Compilador -> Nivel de compilador del compilador (Cambiar a 1.8)
-
Reconstruir a través de maven usando Ejecutar como construcción maven.
Ya no debería mostrarte el error de objetivo no válido.
Nota: No tuve que configurar ni cambiar ninguna otra variable en mi terminal.
Espero que esto ayude.
Pon el valor en el complemento:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
El error fue uso:
<source>${java.version}</source>
<target>${java.version}</target>
Poner eso en su .profile se encargará dinámicamente de su
$JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
Luego cierre su caparazón, abra uno nuevo y pruebe con
echo $JAVA_HOME
Debería mostrar algo como
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
De lo contrario
, elimine cualquier otra asignación de JAVA_HOME en sus scripts de inicio.
Recuerde que estos scripts de inicio comienzan con a
.
por lo tanto, están ocultos y no se incluirán cuando se usa el comodín
*
, por ejemplo, si desea agrupar todos los archivos de su directorio de inicio, debe:
grep -s JAVA_HOME ~/.* --exclude=.bash_history
Realice una actualización forzada de Maven que traerá las versiones compatibles de 1.8 Jar y luego, mientras compila, actualice las versiones JRE en el entorno Ejecutar a 1.8 desde Ejecutar configuraciones y presione RUN
Si está utilizando Eclipse IDE, vaya al menú Ventana y seleccione las preferencias y allí busque los JRE instalados y seleccione el JRE que necesita para construir el proyecto