【问题标题】:intellij idea - Error: java: invalid source release 1.9intellij idea - 错误:java:无效的源版本 1.9
【发布时间】:2018-02-27 01:59:49
【问题描述】:

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

我尝试关注this answer。我更改了文件> 构建、执行、部署> 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();
        }
    }
}

【问题讨论】:

  • 什么版本的intellij?
  • @soorapadman intellij 想法 2017.2.2
  • 似乎很好,它应该可以工作。你在使用 maven 项目吗?
  • 但是,我无法将模块语言级别和项目语言级别更改为 1.8,因为没有此选项。 为什么会这样?尝试这样做时会遇到什么错误? 1.9 似乎也是 java 版本。您的机器/intelliJ 上是否配置了 Java-9?

标签: java intellij-idea compiler-errors


【解决方案1】:

选择项目,然后选择 File > ProjectStructure > ProjectSettings > Modules -> sources 您可能将语言级别设置为 9:

只需将其更改为 8(或您需要的任何值)即可。

另外,在项目设置 > 项目下检查上述相同的语言级别设置

【讨论】:

  • 哦,终于知道项目语言级别是什么意思了,谢谢
  • 另外,在上图中,不要忘记转到模块部分
  • 对 pom.xml 进行更好的更改 1.8 一样,否则在重新导入 intellij 时可能会重置配置
【解决方案2】:

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

所以验证一下:文件 -> 设置 -> 构建、执行、部署 -> 编译器 -> Java 编译器 -> 项目字节码版本并将其值设置为 8

【讨论】:

  • 这是我在项目设置->模块->语言级别顶部的解决方案
  • 这是对已接受答案的一个很好的补充答案。
  • 为我工作。 2021 年 10 月。
【解决方案3】:

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

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

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      GRADLE 项目

      自从我们开始使用 GRADLE,

      Build.gradle: - 即使在下面的行也没有帮助

      sourceCompatibility = '16'
      

      我大部分时间都收到此错误,解决方案是 将 Gradle JVM 更改为 XX

      偏好 |构建、执行、部署 |构建工具 |摇篮-> JVM

      【讨论】:

        【解决方案6】:

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

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

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

        确保Load maven changes 否则更改不会反映。

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

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

            【讨论】:

            • 同样适用于 maven,在更改所有 intellij 设置后,您必须使用“重新导入所有 Maven 项目”运行 maven 同步;之后测试是绿色的
            【解决方案9】:

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

            sourceCompatibility = '11'
            

            它成功了! :)

            【讨论】:

              【解决方案10】:

              或者通过项目设置:

              • 项目设置
              • 项目
              • 项目语言级别(根据您的需要设置)

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

              【讨论】:

                【解决方案11】:

                对于尝试过 DeanM 的解决方案但无济于事的任何人来说,还有其他值得检查的东西,即您为项目配置的 JDK 版本。我想说的是,如果您为项目配置了 JDK 8u191(例如),但语言级别设置为高于 8,您将收到此错误。

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

                【讨论】:

                • 确实,我有一个 JDK 版本 11 和项目语言级别 9。将它们设置为相同可以清除错误。
                【解决方案12】:

                Project SDK 中的 Project Structure 中: 将 SDK 修改为 11 或更高版本并在 Project 语言级别: 修改为 11 - 局部变量语法对于 lambda 参数

                【讨论】:

                  【解决方案13】:

                  我在 IntellijIdea 中也遇到了同样的问题,选择项目后,然后 File > ProjectStructure > ProjectSettings > Modules -> sources 该选项显示 - 语言级别设置为 9:

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

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

                  因此,每当您更改 pom.xml 文件时,IDEA 都需要更新项目结构。例如,如果您在那里添加了更多依赖项,IDEA 需要将它们添加为项目库。

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

                  enter image description here

                  【讨论】:

                    【解决方案14】:

                    只是补充说明:

                    当你从 start.spring.io 创建一个新项目时,请确保你选择你的 JDK 版本,他们的默认设置为 JDK 11,以后会导致上述问题。

                    【讨论】:

                      【解决方案15】:

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

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

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

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

                      【讨论】:

                        【解决方案16】:

                        我只能通过清除/删除虚拟机配置来解决这个问题。 但是你应该做以下所有检查:

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

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

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

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

                        我从配置中删除了这些行并开始运行。

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

                        【讨论】:

                          猜你喜欢
                          • 2019-06-05
                          • 2017-04-02
                          • 2019-06-06
                          • 2021-12-10
                          • 2021-07-23
                          • 2021-05-09
                          • 2014-11-10
                          相关资源
                          最近更新 更多