intellij idea - 错误:java:无效的源版本1.9

时间:2017-09-18 13:43:39

标签: java intellij-idea compiler-errors

我正在尝试运行我的JSQL解析器类,但我得到了Error: java: invalid source release 1.9

我试图关注this answer。我改变了文件>建立,执行,部署和GT; Java编译器>项目字节码版本:1.8。但是,我无法将模块语言级别和项目语言级别更改为1.8,因为没有选项。我仍然在下面得到同样的错误。

错误 enter image description here

代码

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();
        }
    }
}

13 个答案:

答案 0 :(得分:220)

选择项目,然后选择文件>项目结构> ProjectSettings>模块 - >来源 您可能将语言级别设置为9:

screenshot

只需将其更改为8(或您需要的任何内容),然后就可以了。

另外,请检查上面提到的相同语言级别设置,项目设置>项目

enter image description here

答案 1 :(得分:12)

我遇到了同样的问题。有一个答案:

  • 1. CTRL + ALT + SHIFT + S ;
    1. 然后转到“模块”;
    2. “的依赖关系
    3. 更改“模块SDK ”。

知道了! 现在你有了Java 9!

答案 2 :(得分:5)

有时,由于项目字节码的版本不正确,会出现此问题。

因此验证它:文件->设置->构建,执行,部署->编译器-> Java编译器->项目字节码版本并将其值设置为8

Example

答案 3 :(得分:3)

在运行SpringBoot项目(Maven)时遇到此问题

在我的POM文件中,我将Java版本从11更改为8,并且可以正常工作:

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

请确保Load maven changes,否则更改不会反映出来。

答案 4 :(得分:1)

我刚刚遇到了类似的问题。该项目已使用Java 9打开,但是即使将所有模块和项目都设置为1.8,我仍然会收到错误消息。

我需要强迫Gradle刷新项目,然后一切按预期运行。

答案 5 :(得分:1)

项目SDK 中的项目结构中:将SDK修改为11或更高;在项目语言级别中:修改为11-本地变量语法用于lambda参数

答案 6 :(得分:0)

对于那些尝试解决DeanM解决方案但无济于事的人,还有其他值得检查的地方,这是您为项目配置的JDK版本。我要说的是,如果您为项目配置了JDK 8u191(例如),但是将语言级别设置为高于8的语言,则会出现此错误。

在这种情况下,最好询问谁负责该项目,最好使用JDK的哪个版本来编译源代码。

答案 7 :(得分:0)

在IntellijIdea中,我也遇到了同样的问题,选择项目后,然后显示“文件”>“ ProjectStructure”>“ ProjectSettings”>“模块”->“源”,该选项显示-语言级别设置为9:

所以,我只是将其更改为8。仍然没有解决我的问题。

主要问题与pom.xml有关。我重新导入了pom.xml文件,问题解决了。

因此,无论何时更改pom.xml文件,IDEA都需要更新项目结构。例如,如果您在其中添加了更多依赖关系,IDEA需要将它们添加为项目库。

在“设置>构建,执行,部署>构建工具> Maven>导入”中,可以选择“自动导入Maven项目”。更改pom.xml时,它将自动调用“重新导入”操作。

enter image description here

答案 8 :(得分:0)

使用Maven项目时。

检查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

答案 9 :(得分:0)

intellij-invalid-source

对于懒惰的灵魂。点击放大。

答案 10 :(得分:0)

成绩 我遇到了同样的问题,更改早期解决方案中提供的所有设置都没有区别。然后我去了build.gradle并找到了这行并将其删除。

sourceCompatibility = '11'

成功了! :)

答案 11 :(得分:0)

仅需补充说明:

当您从start.spring.io创建一个新项目时,请确保选择您的JDK版本,默认情况下将其版本设置为JDK 11,稍后将导致上述问题。

答案 12 :(得分:0)

<块引用> <块引用> <块引用>

文件 > 项目结构 > 项目 > 项目 SDK > 选择版本 文件 > 项目结构 > 项目 > 项目语言级别 > 选择版本 文件 > 项目结构 > 模块 > 源选项卡 > 语言级别 > 选择级别 文件 > 项目结构 > 模块 > 依赖项选项卡 > 模块 SDK > 选择版本

<块引用> <块引用> <块引用>

在 Pom.xml 下的属性更改为您的版本

template<auto FUNC, typename T, typename ... Params>
static auto wrapper(void* handle, Params ... args)
<块引用> <块引用> <块引用>

右键单击 Pom 然后 Maven 然后重新加载项目