当前位置: 首页 > 知识库问答 >
问题:

错误:java:启用预览的源代码版本11无效(预览语言功能仅支持版本15)

颜文康
2023-03-14

在尝试构建项目时,我遇到了一个错误:

错误:java:启用预览的源代码版本11无效(预览语言功能仅支持版本15)

如何解决此错误?

// game template
class A_Main {
    private A_World world = null;

    public A_Main() {
        //start the game with the space shooter asteroid game
        A_Frame frame = new Asteroid_Frame();
        frame.displayOnScreen();

        world = new Asteroid_World();

        world.setGraphicSystem(frame.getGraphicSystem());
        world.setInputSystem(frame.getInputSystem());

        A_GameObject.setPhysicsSystem(world.getPhysicsSystem());
        A_GameObject.setWorld(world);
        A_TextObject.setWorld(world);

        world.init();
        world.run();
    }

    public static void main(String[] args) {
        new A_Main();
    }
}

共有2个答案

班安平
2023-03-14

我在运行单元测试时出现了这个错误。我在项目的所有地方都设置了java 11,但使用了openjdk-17。

在Intellij IDEA中转到文件

贝阳泽
2023-03-14

Java有多个版本。Java5大约在2004年发布,Java7在2011年,Java8在2014年,最近Java每年都会看到两次新的主要更新。Java编译器可以编译早期版本,但它(通常)不能编译具有新版本语法的内容(如新Java中的记录)。该规则的一个例外是--enable-preview标志,它允许它编译在主要版本发布时正在审查但尚未最终确定的内容。

您的错误意味着java源代码版本和预览标志的组合没有意义。此标志仅在编译器知道的最新源代码版本中才有意义。对于JDK 15,这意味着源代码级别为15。您已设置11。

解决这个问题的一种方法是删除构建工具(Eclipse、Intellij、Maven、Gradle或其他)中源代码版本设置中的“预览标志”。据我所知,您只使用非常旧/经典的Java,因此它几乎可以由任何东西构建

您可以在Baeldung阅读有关预览标志的更多信息。

 类似资料:
  • 在尝试运行测试时,我遇到了这个编译错误: 我试着在谷歌和这里研究这个问题,在应用了所有对其他人有效的解决方案后,这个问题仍然存在。以下是我到目前为止所做的: 首选项->Java编译器:将“项目字节码版本”设置为1.8 我还将每个模块的目标字节码版本设置为1.8 解决方法编辑: 我可以绕过这个问题,方法是转到首选项->构建、执行、部署->编译器->Java编译器,并将编译器从“javac”更改为“e

  • 我正在尝试使用以下命令构建我的Spring启动项目: 但它不断抛出这个错误: 我的项目使用Java版本11,IntelliJ Java版本也设置为11。 这是我到目前为止在IntelliJ上完成的Java版本设置: 当我跑完这一切后 我想我已经做了所有可能的事情。还有其他我可以尝试的设置吗??

  • 我可能会对遗留项目进行一些交叉编译,并且在最近的JDK中我注意到,对于、和JVM参数,我们仅限于一些特定的版本。 如何获得这些参数的支持版本?

  • 我得到了一个错误时,打开铬与硒,它打开和关闭窗口后立即打开。下面是我的代码:

  • 我正在尝试运行我的JSQL解析器类,但是我得到。 我试着跟着这个答案走。我更改了文件>构建,执行,部署>Java编译器>项目字节码版本:1.8。但是,我不能将模块语言级别和项目语言级别更改为1.8,因为没有选项。我仍然得到同样的错误在下面。 代码

  • 3)我的编译器模块目标字节码版本在设置->构建、执行、部署->Java编译器中也设置为11。 我甚至分别将环境变量用户变量中的JAVA_HOME和系统变量中的JAVA_HOME都改为JDK-11.0.8。 当我运行java-version和javac-version时,都显示我已经安装了版本11。当我尝试运行mvn clean包时,它总是以以下错误失败