idea intellij - Error: java: fuente inválida versión 1.9

129

Estoy tratando de ejecutar mi clase de analizador JSQL, pero estoy obteniendo Error: java: invalid source release 1.9.

Traté de seguir esta respuesta . Cambié File> Build, Execution, Deployment> Java Compiler> Project bytecode version: 1.8. Sin embargo, no puedo cambiar el nivel de idioma del Módulo y el nivel de idioma del Proyecto a 1.8 porque no hay opción para eso. Todavía recibo el mismo error a continuación.

Error ingrese la descripción de la imagen aquí

Código

package cs4321.project2;

import java.io.FileReader;
import net.sf.jsqlparser.parser.CCJSqlParser;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.Select;

public class Parser {
    private static final String queriesFile = "resources/input/queries.sql";

    public static void main(String[] args) {
        try {
            CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile));
            Statement statement;
            while ((statement = parser.Statement()) != null) {
                System.out.println("Read statement: " + statement);
                Select select = (Select) statement;
                System.out.println("Select body is " + select.getSelectBody());
            }
        } catch (Exception e) {
            System.err.println("Exception occurred during parsing");
            e.printStackTrace();
        }
    }
}
Alex
fuente
¿Qué versión de intellij?
soorapadman
@soorapadman intellij idea 2017.2.2
Alex
parece estar bien, debería funcionar. ¿Estás trabajando con el proyecto maven?
soorapadman
Sin embargo, no puedo cambiar el nivel de idioma del Módulo y el nivel de idioma del Proyecto a 1.8 porque no hay opción para eso. ¿por qué es así? ¿Y qué error obtienes al intentar hacerlo? También 1.9 parece ser la versión de Java. ¿Tiene Java-9 configurado en su máquina / intelliJ?
Naman

Respuestas:

324

Seleccione el proyecto, luego Archivo> Estructura del proyecto> Configuración del proyecto> Módulos -> fuentes Probablemente tenga el Nivel de idioma establecido en 9:

captura de pantalla

Simplemente cámbielo a 8 (o lo que necesite) y listo.

Además, verifique la misma configuración de Nivel de idioma mencionada anteriormente, en Configuración del proyecto> Proyecto

ingrese la descripción de la imagen aquí

DeanM
fuente
1
Oh, finalmente sé lo que significa el nivel de idioma del proyecto, gracias
Daniel Dai
1
Además, en la imagen de arriba, no olvides ir a la sección de Módulos
John Peters
1
Mejor cambio en pom.xml <java.version> 1.8 </java.version> Como, de lo contrario, puede restablecer la configuración al volver a importar en intellij
Rakesh Yembaram
22

A veces, el problema se produce debido a la versión incorrecta del código de bytes del proyecto.

Así que verifíquelo: Archivo -> Configuración -> Compilación, Ejecución, Implementación -> Compilador -> Compilador Java -> Versión de código de bytes del proyecto y establezca su valor en 8

Ejemplo

Rogol
fuente
1
fue la solución para mí en la parte superior de Configuración del proyecto-> Módulos -> Nivel de idioma
Kemal Atik
1
Esta es una gran respuesta complementaria a la aceptada.
Dalton
15

Yo he tenido el mismo problema. Hay una respuesta:

  • 1. CTRL + ALT + MAYÚS + S ;
    1. Luego vaya a " Módulos" ;
    2. " Dependencias ;
    3. Cambiar " Módulo SDK ".

¡Entendido! Ahora tienes Java 9!

Dmitry Kaltovich
fuente
5

fuente-inválida-intellij

Debe establecer el SDK de JAVA y el nivel de idioma apropiado en la configuración del proyecto. Click para agrandar.

Gayan Weerakutti
fuente
3

Cuando se utiliza el proyecto maven.

compruebe el archivo pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>9</java.version>
</properties>

si tiene instalado jdk 8 en su máquina, cambie la java.versionpropiedad de 9a8

abitcode
fuente
2

Acabo de tener un problema similar. El proyecto se había abierto con Java 9, pero incluso después de que todos los módulos y el proyecto se restablecieron a 1.8, seguía recibiendo el error.

Necesitaba obligar a Gradle a actualizar el proyecto y luego todo funcionó como se esperaba.

Eduardo
fuente
1

Alternativamente a través de la configuración del proyecto:

  • Configuraciones del proyecto
  • Proyecto
  • Nivel de idioma del proyecto (configurado para satisfacer sus necesidades)

Dependiendo de cómo esté configurada su construcción, este puede ser el camino a seguir.

felvhage
fuente
1

En Project Structure en Project SDK: modifique SDK a 11 o superior y en el nivel de idioma del proyecto: modifique a 11 - Sintaxis de variables locales para parámetros lambda

Lucian L.
fuente
0

Para cualquiera que tenga problemas con este problema que haya intentado la solución de DeanM, pero fue en vano, hay algo más que vale la pena verificar, que es la versión del JDK que ha configurado para su proyecto. Lo que estoy tratando de decir es que si ha configurado JDK 8u191 (por ejemplo) para su proyecto, pero tiene el nivel de idioma establecido en algo más alto que 8, obtendrá este error.

En este caso, probablemente sea mejor preguntar a quien esté a cargo del proyecto, qué versión del JDK sería preferible para compilar las fuentes.

Tharkius
fuente
0

También tuve el mismo problema en IntellijIdea, después de seleccionar el proyecto, luego Archivo> Estructura del proyecto> Configuración del proyecto> Módulos -> fuentes que mostraba la opción: el nivel de idioma establecido en 9:

Entonces, simplemente lo cambio a 8. Aún así mi problema no se resolvió.

El problema principal fue con pom.xml. Reimporté el archivo pom.xml y mi problema se resolvió.

Entonces, cada vez que cambia el archivo pom.xml, IDEA necesita actualizar la estructura del proyecto. Por ejemplo, si ha agregado algunas dependencias más, IDEA debe agregarlas como bibliotecas de proyectos.

En "Configuración> Generar, Ejecutar, Implementar> Herramientas de compilación> Maven> Importar" puede elegir "Importar proyectos Maven automáticamente". Esto invocará automáticamente la acción "Reimportar" cuando se cambie pom.xml.

ingrese la descripción de la imagen aquí

amitsahu86
fuente
0

Gradle tuve el mismo problema y cambiar todas las configuraciones dadas en las soluciones anteriores no hizo ninguna diferencia. Luego fui a build.gradle y encontré esta línea y la eliminé.

sourceCompatibility = '11'

¡Y funcionó! :)

likejudo
fuente
0

Estaba teniendo este problema mientras ejecutaba un proyecto SpringBoot (Maven)

En mi archivo POM cambié la versión de Java de 11 a 8 y funcionó:

<properties>
    <java.version>8</java.version> //The default was 11
</properties>

Asegúrese de lo Load maven changescontrario, el cambio no se reflejará.

Ojonugwa Jude Ochalifu
fuente