java-record - 在 Java 16 项目中声明时,如何解决错误“-source 11 中不支持记录(使用 -source 16 或更高版本启用记录)”?
问题描述
我已经安装了提供 java 16 SDK 的 graalvm-ce-java16-21.2.0 并下载并安装了 openjfx.io OpenJFX 16 并在 NetBeans 12.4 中开发了一个 javafx Maven 项目,它运行良好。现在我声明了以下记录(Java 14 中引入的新数据记录类型):
record EventTargetFinder(List<Class<? extends Node>> filterTargetTypes) { EventTargetFinder(List<Class<? extends Node>> filterTargetTypes) { this.filterTargetTypes = Collections.unmodifiableList(filterTargetTypes); }
NetBeans 告诉我“-source 11 不支持记录(使用 -source 16 或更高版本来启用记录)”。
我搜索了 Google 和 StackOverFlow,但找不到相关信息。我检查了 NetBeans 项目属性,发现该项目使用 Java 16 编译,但在“源”类别中有标签“源/二进制格式:”,其中包含选择条目“11”的组合框,我无法更改选择。
任何克服这个困难的帮助将不胜感激。
解决方案
那么你实际使用的是什么构建?Maven 还是 Netbeans?查看您的 POM 并查看您正在使用的源和目标设置,然后进行纯 Maven 构建。
推荐阅读
- ansible - ansible:自定义要使用的密码管理器
- python-3.x - 数据类 + sqlalchemy(使用 mapper_registry.mapped)无法实例化对象
- json - 如何通过`jq`在一行中打印多个值?
- c - CS50 过滤器:边缘我的代码工作正常,但无法通过 cs50 检查
- r - R 无法连接到 SQLite
- react-native - 使用 expo 安装带有 NPM 的包失败
- browser - 如何在 Allure 框架中禁用缓存?
- c# - 单元测试中的模拟混淆
- javascript - 在主页中调整大小的缩略图
- azure - 具有多个 Azure 订阅的 Confluent Cloud Private Connectivity (Azure)