Я пытаюсь запустить свой класс парсера 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();
}
}
}
Ответы:
Выберите проект, затем File> ProjectStructure> ProjectSettings> Modules -> sources. Вероятно, у вас установлен уровень языка 9:
Просто измените его на 8 (или что вам нужно), и все готово.
Также проверьте те же настройки уровня языка, упомянутые выше, в разделе «Настройки проекта»> «Проект».
источник
Иногда проблема возникает из-за неправильной версии байт-кода проекта.
Так что проверьте это: Файл -> Настройки -> Сборка, выполнение, развертывание -> Компилятор -> Компилятор Java -> Версия байт-кода проекта и установите для него значение 8
источник
У меня была такая же проблема. Есть ответ:
Понял! Теперь у вас есть Java 9!
источник
Вы должны установить JAVA SDK и соответствующий уровень языка в настройках проекта. Нажмите, чтобы увеличить.
источник
При использовании maven project.
проверьте файл pom.xml
если на вашем компьютере установлен jdk 8, измените
java.version
свойство с9
на8
источник
У меня была похожая проблема. Проект был открыт с использованием Java 9, но даже после того, как все модули и проект были установлены обратно на 1.8, я все еще получал ошибку.
Мне нужно было заставить Gradle обновить проект, а затем все заработало, как ожидалось.
источник
В качестве альтернативы через настройки проекта:
В зависимости от того, как настроена ваша сборка, это может быть подходящим вариантом.
источник
В структуре проекта в Project SDK: измените SDK на 11 или выше и на уровне языка проекта: измените на 11 - Синтаксис локальной переменной для лямбда-параметров
источник
Для всех, кто борется с этой проблемой, кто пробовал решение DeanM, но безрезультатно, стоит проверить еще кое-что, а именно версию JDK, которую вы настроили для своего проекта. Я пытаюсь сказать, что если вы настроили JDK 8u191 (например) для своего проекта, но у вас установлен уровень языка выше 8, вы получите эту ошибку.
В этом случае, вероятно, лучше спросить того, кто отвечает за проект, какая версия JDK будет предпочтительнее для компиляции исходников.
источник
У меня также была такая же проблема в IntellijIdea, после выбора проекта, затем File> ProjectStructure> ProjectSettings> Modules -> sources, которые показывала опция - уровень языка установлен на 9:
Итак, я просто изменил его на 8. Моя проблема все еще не решена.
Основная проблема была с pom.xml. Я повторно импортировал файл pom.xml, и моя проблема была решена.
Итак, всякий раз, когда вы меняли файл pom.xml, IDEA необходимо обновить структуру проекта. Например, если вы добавили туда еще несколько зависимостей, IDEA необходимо добавить их как библиотеки проекта.
В «Настройки»> «Сборка, выполнение, развертывание»> «Инструменты сборки»> «Maven»> «Импорт» вы можете выбрать «Импортировать проекты Maven автоматически». Это автоматически вызовет действие «Reimport» при изменении pom.xml.
введите описание изображения здесь
источник
Gradle У меня была такая же проблема, и изменение всех настроек, указанных в более ранних решениях, не имело никакого значения. Затем я зашел в build.gradle, нашел эту строку и удалил ее.
и это сработало! :)
источник
У меня возникла эта проблема при запуске проекта SpringBoot (Maven)
В моем файле POM я изменил версию java с 11 на 8, и она сработала:
Убедитесь, что
Load maven changes
изменение не отразится.источник