intellij idea - Ошибка: java: неверный исходный код версии 1.9

129

Я пытаюсь запустить свой класс парсера JSQL, но получаю Error: java: invalid source release 1.9.

Я попытался последовать этому ответу . Я изменил Файл> Сборка, Выполнение, Развертывание> Компилятор Java> Версия байт-кода проекта: 1.8. Однако я не могу изменить уровень языка модуля и уровень языка проекта на 1,8, потому что для этого нет возможности. Я по-прежнему получаю ту же ошибку ниже.

ошибка введите описание изображения здесь

Код

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
источник
Какая версия intellij?
soorapadman
@soorapadman intellij idea 2017.2.2
Alex
вроде нормально должно работать. Вы работаете с проектом maven?
soorapadman
Однако я не могу изменить уровень языка модуля и уровень языка проекта на 1,8, потому что для этого нет возможности. Почему это так? и какая ошибка возникает при попытке сделать это? Также 1.9, похоже, является версией java. У вас настроена Java-9 на вашем компьютере / intelliJ?
Наман

Ответы:

325

Выберите проект, затем File> ProjectStructure> ProjectSettings> Modules -> sources. Вероятно, у вас установлен уровень языка 9:

Скриншот

Просто измените его на 8 (или что вам нужно), и все готово.

Также проверьте те же настройки уровня языка, упомянутые выше, в разделе «Настройки проекта»> «Проект».

введите описание изображения здесь

DeanM
источник
1
О, наконец-то я знаю, что означает уровень языка проекта, спасибо
Дэниел Дай
1
Кроме того, на изображении выше не забудьте перейти в раздел Модули
Джон Питерс
1
Лучшее изменение в pom.xml <java.version> 1.8 </java.version> As, в противном случае он может сбросить конфигурацию при повторном импорте в intellij
Ракеш Йембарам
22

Иногда проблема возникает из-за неправильной версии байт-кода проекта.

Так что проверьте это: Файл -> Настройки -> Сборка, выполнение, развертывание -> Компилятор -> Компилятор Java -> Версия байт-кода проекта и установите для него значение 8

пример

Rogol
источник
1
это было решение для меня наверху Настройки проекта-> Модули -> Уровень языка
Кемаль Атик
1
Это отличный дополнительный ответ к принятому.
Далтон,
15

У меня была такая же проблема. Есть ответ:

  • 1. CTRL + ALT + SHIFT + S ;
    1. Затем перейдите в « Модули» ;
    2. « Зависимости ;
    3. Измените « Модуль SDK ».

Понял! Теперь у вас есть Java 9!

Дмитрий Кальтович
источник
5

IntelliJ-инвалид-источник

Вы должны установить JAVA SDK и соответствующий уровень языка в настройках проекта. Нажмите, чтобы увеличить.

Гаян Виракутти
источник
3

При использовании maven project.

проверьте файл 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>

если на вашем компьютере установлен jdk 8, измените java.versionсвойство с 9на8

abitcode
источник
2

У меня была похожая проблема. Проект был открыт с использованием Java 9, но даже после того, как все модули и проект были установлены обратно на 1.8, я все еще получал ошибку.

Мне нужно было заставить Gradle обновить проект, а затем все заработало, как ожидалось.

Эдвард
источник
1

В качестве альтернативы через настройки проекта:

  • Настройки проекта
  • проект
  • Уровень языка проекта (установлен в соответствии с вашими потребностями)

В зависимости от того, как настроена ваша сборка, это может быть подходящим вариантом.

felvhage
источник
1

В структуре проекта в Project SDK: измените SDK на 11 или выше и на уровне языка проекта: измените на 11 - Синтаксис локальной переменной для лямбда-параметров

Лучиан Л.
источник
0

Для всех, кто борется с этой проблемой, кто пробовал решение DeanM, но безрезультатно, стоит проверить еще кое-что, а именно версию JDK, которую вы настроили для своего проекта. Я пытаюсь сказать, что если вы настроили JDK 8u191 (например) для своего проекта, но у вас установлен уровень языка выше 8, вы получите эту ошибку.

В этом случае, вероятно, лучше спросить того, кто отвечает за проект, какая версия JDK будет предпочтительнее для компиляции исходников.

Tharkius
источник
0

У меня также была такая же проблема в IntellijIdea, после выбора проекта, затем File> ProjectStructure> ProjectSettings> Modules -> sources, которые показывала опция - уровень языка установлен на 9:

Итак, я просто изменил его на 8. Моя проблема все еще не решена.

Основная проблема была с pom.xml. Я повторно импортировал файл pom.xml, и моя проблема была решена.

Итак, всякий раз, когда вы меняли файл pom.xml, IDEA необходимо обновить структуру проекта. Например, если вы добавили туда еще несколько зависимостей, IDEA необходимо добавить их как библиотеки проекта.

В «Настройки»> «Сборка, выполнение, развертывание»> «Инструменты сборки»> «Maven»> «Импорт» вы можете выбрать «Импортировать проекты Maven автоматически». Это автоматически вызовет действие «Reimport» при изменении pom.xml.

введите описание изображения здесь

amitsahu86
источник
0

Gradle У меня была такая же проблема, и изменение всех настроек, указанных в более ранних решениях, не имело никакого значения. Затем я зашел в build.gradle, нашел эту строку и удалил ее.

sourceCompatibility = '11'

и это сработало! :)

likejudo
источник
0

У меня возникла эта проблема при запуске проекта SpringBoot (Maven)

В моем файле POM я изменил версию java с 11 на 8, и она сработала:

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

Убедитесь, что Load maven changesизменение не отразится.

Оджонугва Джуд Очалифу
источник