【问题标题】:"Lambda expressions are not supported in -source 7, use -source 8 to enable lambda expressions"“-source 7 不支持 Lambda 表达式,请使用 -source 8 启用 lambda 表达式”
【发布时间】:2021-10-30 16:16:28
【问题描述】:

所以我已经用 java 编程了一段时间,然后我开始制作游戏,因为我对它不是超级有经验,所以我决定制作一个简单的 2D 游戏。在我遇到问题之前进展顺利:(还不能嵌入图片,但基本上和我的标题一样。

这是我一直用于收到错误的应用程序的代码:


import java.awt.EventQueue;
import javax.swing.JFrame;

public class Application extends JFrame {
    
    public Application() {
        
        initUI();
    }
    
    private void initUI() {
        
        add(new Board());
        
        setSize(250, 200);
        
        setTitle("Application");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }
    
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            Application ex = new Application();
            ex.setVisible(true);
        });
    }
}

有人知道我为什么会收到这个错误以及如何解决它吗?

【问题讨论】:

  • 您收到该错误是因为您使用源级别 7 进行编译。您通过使用源级别 8 或更高级别进行编译来修复它。这意味着您需要使用 Java 8 或更高版本的 JDK。但是 Java 编译器完全识别 lambda 表达式这一事实意味着您必须使用 JDK 8 或更高版本的编译器进行编译。
  • 您已经在使用 Java 8 或更高版本进行编译。您使用 1.7 作为源版本的原因是什么?
  • 这似乎是您的 IDE 将项目的源代码级别设置为 Java 7。您使用的是哪一个?您是否使用 Maven 之类的构建工具来定义项目?
  • 顺便说一句你用的是什么IDE
  • (我认为jmonkeyengine SDK是基于NetBeans的)

标签: java game-engine jmonkeyengine


【解决方案1】:

您可以像这样重写 lambda 表达式:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            Application ex = new Application();
            ex.setVisible(true);
        }
    });
}

【讨论】:

    【解决方案2】:

    在 IDEA 文件中 -> 项目结构
    选择 JDK 8+
    选择至少 8 级的语言。

    (当然,如果您没有支持 Java 8 的 JDK,则需要下载新的 JDK)

    如果您使用 maven 或 gradle,则更改 pom.xml(见下文)并从 pom.xml 更新项目设置

        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <!-- Your dependencies -->
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
    

    对于 gradle,请参阅文档,因为它经常随着更新的 gradle 版本而变化https://docs.gradle.org/current/userguide/building_java_projects.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2017-06-08
      • 1970-01-01
      • 2021-08-23
      相关资源
      最近更新 更多