invalid flag fatal error compiling java maven

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:

  1. Preferencias -> Compilador -> Nivel de compilador del compilador (Cambiar a 1.8)

  2. Perferencias -> JRE instalados -> seleccione JAVA SE 8 1.8

  3. 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