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

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

我试着跟踪 这个答案。我修改了 File > Build,Execution,Deployment > Java Compiler > Project bytecode version: 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();
}
}
}
228948 次浏览

选择项目,然后 File > ProjectArchitecture > ProjectSettings > Module-> source 你可能把语言水平设置在9:

screenshot

只要把它改成8(或者任何你需要的) ,你就可以开始了。

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

enter image description here

我也遇到过同样的问题,答案是:

  • 1. CTRL + ALT + SHIFT + S;
    1. 然后转到“ 模组」;
    2. 改成“ 单元 SDK”。

找到了! 现在你有了 Java 9!

或者通过项目设置:

  • 项目设置
  • 工程项目
  • 项目语言级别(设置为适合您的需要)

根据构建的设置方式,这可能是一种方法。

对于那些尝试过 DeanM 解决方案但没有成功的人来说,还有一些东西值得检查,那就是为项目配置的 JDK 版本。我想说的是,如果您已经为项目配置了 JDK 8u191(例如) ,但是将语言级别设置为任何大于8的值,那么您将得到这个错误。

在这种情况下,最好询问项目的负责人,哪个版本的 JDK 更适合编译源代码。

我在 IntellijIdea 也遇到了同样的问题,在选择了项目之后,文件 > 项目结构 > 项目设置 > 模块-> 源代码显示-语言水平设置在9:

所以,我就改成8了,我的问题还是没有解决。

主要问题是 pom.xml,我重新导入了 pom.xml 文件,问题得到了解决。

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

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

在此输入图像描述

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

我也遇到过类似的问题。该项目已经使用 Java9打开,但即使所有的模块和项目被设置回1.8,我仍然得到了错误。

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

intellij-invalid-source

您应该在项目设置中设置 JAVA SDK 和适当的语言级别。

有时会因为项目字节码的版本不正确而发生问题。

因此,验证它: File-> Settings-> Build,Execution,Deployment-> Compiler-> Java Compiler-> Project bytecode version,并将其值设置为8

Example

格拉德尔 我也有同样的问题,更改早期解决方案中给出的所有设置并没有什么不同。然后我找到 build.gradle 找到这行,把它删了。

sourceCompatibility = '11'

成功了! :)

SDK 项目:工程项目结构中将 SDK 修改为11或更高,在 项目语言水平:中将 lambda 参数的本地变量语法修改为11

我在运行 SpringBoot 项目(Maven)时遇到了这个问题

在我的 POM 文件中,我把 java 版本从11改成了8,并且成功了:

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

确保 Load maven changes否则变化不会反映。

还有一点:

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

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

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

<properties>
<java.version>16</java.version>
</properties>

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

Maven 项目-和项目结构[在 IntelliJ 中作为 Maven 导入]

Try-如果存在以下任何 pom 条目-值应该在 java 级别相同

<java.version>16</java.version>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
  1. 项目结构-> 项目语言水平
  2. 单元-> 语文程度


GRADLE 项目

自从我们开始和 GRADLE 合作,

甚至在线下也没有帮助

sourceCompatibility = '16'

我得到这个错误的大部分时间和解决方案是 将 Gradle JVM 更改为 XX

首选项 | 构建,执行,部署 | 构建工具 | 级别-> JVM enter image description here

我只能清除/删除 VM 配置来克服这个问题。 但是你应该做以下所有的检查:

  1. 菜单文件/项目结构/项目(选择 SDK 和正确的语言级别——在可能的情况下是1.8.0 _ 201和“8-Lambdas...”)

  2. 菜单文件/项目结构/模块/源(右)-选择相同的语言级别

  3. 菜单文件/项目结构/依赖项(也在右边)-选择相同的模块 SDK

  4. (如果仍然不工作...)菜单运行/编辑配置

enter image description here

我从配置中删除了行,所有的都开始运行。

--module-path
${PATH_TO_FX}
--add-modules
javafx.controls,javafx.fxml

在我修改了答案中提到的所有内容之后,它仍然给我同样的错误。 我不得不将“使用编译器”选项从“ Eclipse”改为“ Javac”,它为我解决了这个问题。

enter image description here