错误:java:版本1.9的源代码无效

wxclj1h5  于 2021-07-12  发布在  Java
关注(0)|答案(13)|浏览(419)

我试图运行我的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();
        }
    }
}
balp4ylt

balp4ylt1#

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

只要把它改成8(或者任何你需要的),你就可以开始了。
另外,在“项目设置”>“项目”下,检查上述相同的语言级别设置

ohtdti5x

ohtdti5x2#

有时问题的发生是因为项目字节码的版本不正确。
所以验证它:file->settings->build,execution,deployment->compiler->java compiler->project bytecode version并将其值设置为8

hrysbysz

hrysbysz3#

我也有同样的问题。答案是:
1.ctrl+alt+shift+s;
然后进入“模块”;
“依赖关系;
更改“模块sdk”。
知道了!现在你有了Java9!

c90pui9n

c90pui9n4#


您必须在项目设置中设置javasdk和适当的语言级别。点击放大。

mum43rcc

mum43rcc5#

我在运行springboot项目(maven)时遇到了这个问题
在我的pom文件中,我将java版本从11改为8,结果成功了:

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

确保 Load maven changes 否则这一变化将无法反映。

k0pti3hp

k0pti3hp6#

使用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>

如果您的机器中安装了jdk8,请更改 java.version 财产来源 98

pxq42qpu

pxq42qpu7#

我也有类似的问题。这个项目是用Java9打开的,但是即使在所有的模块和项目都被设置回1.8之后,我仍然得到了错误。
我需要强迫gradle刷新项目,然后一切按预期运行。

ca1c2owp

ca1c2owp8#

或者通过项目设置:
项目设置
项目
项目语言级别(设置为适合您的需要)
根据构建的方式,这可能是一种可行的方法。

nzrxty8p

nzrxty8p9#

对于那些在这个问题上苦苦挣扎的人来说,他们尝试了deanm的解决方案,但是没有结果,还有一些值得检查的东西,那就是您为您的项目配置的jdk版本。我想说的是,如果您已经为您的项目配置了jdk8u191(例如),但是将语言级别设置为高于8的任何值,您将得到这个错误。
在这种情况下,最好询问项目负责人,哪个版本的jdk更适合编译源代码。

6g8kf2rb

6g8kf2rb10#

在project sdk的项目结构中:将sdk修改为11或更高版本;在项目语言级别中:修改为11-lambda参数的局部变量语法

gajydyqb

gajydyqb11#

在intellijidea中,我也遇到了同样的问题,在选择了项目之后,文件>项目结构>项目设置>模块->源代码选项显示了-语言级别设置为9:
所以,我把它改成8。我的问题还是没有解决。
主要问题是pom.xml。我重新导入了pom.xml文件,我的问题得到了解决。
因此,无论何时更改pom.xml文件,idea都需要更新项目结构。例如,如果您添加了更多的依赖项,idea需要将它们添加为项目库。
在“设置>构建、执行、部署>构建工具>maven>导入”中,可以选择“自动导入maven项目”。这将在pom.xml更改时自动调用“重新导入”操作。
在此处输入图像描述

4uqofj5v

4uqofj5v12#

gradle我也遇到了同样的问题,更改早期解决方案中给出的所有设置没有任何区别。然后我去build.gradle找到了这一行并删除了它。

sourceCompatibility = '11'

成功了!:)

c90pui9n

c90pui9n13#

只是补充说明:
从start.spring.io创建新项目时,请确保选择jdk版本。默认情况下,它们的版本设置为jdk 11,稍后会导致上述问题。

相关问题