这段简单的代码在maven-project的构建阶段失败了.

import java.util.List;

public class Test {
    public static void main(String[] args){
        List<Integer> a = List.of(1, 2, 3);
        a.getLast();
    }
}

出现错误:

java: cannot find symbol
symbol:   method getLast()
location: variable a of type java.util.List<java.lang.Integer>

如果我按住Ctrl键并单击getLast,我可以在List中找到此方法:

default E getLast() {
    if (this.isEmpty()) {
        throw new NoSuchElementException();
    } else {
        return this.get(this.size() - 1);
    }
}

此外,如果我在没有maven的情况下运行这段代码,一切都是正常的.

我正在使用:

Apache Maven 3.8.8

Java version: 21

Windows 11 (10.0)

推荐答案

听起来像是Maven试图用错误的Java版本构建您的代码.Maven使用的Java版本可以在项目的pom.xml文件中设置.确保POM文件指定了支持您正在使用的功能的Java版本.

Java相关问答推荐

如何在PFA中使用不确定的进度指标制作可暂停的任务?

如何从片段请求数据到活动?在主要活动中单击按钮请求数据?

如果给定层次 struct 级别,如何从其预序穿越构造n元树

Listview—在Android Java中正确链接项目时出错

Spring boot:Bean和动态扩展器

在Java Stream上调用collect方法出现意外结果

将数组整体转换为链接表

上下文初始化期间遇到异常-使用Java配置配置HibernateTemplate Bean时

Java FX中的河内之塔游戏-在游戏完全解决之前什么都不会显示

为什么不应用类型推断?

在Java中,在单个逻辑行中连接列表和单个元素的正确方法是什么?

计算两个浮点数之间的距离是否对称?

我正在try 跟踪数组中最大的两个数字

Java ArrayList的整数和数组的泛型

根本不显示JavaFX阿拉伯字母

如何将RESTAssured';S的Http标题转换为<;字符串、字符串和>的映射?

为什么我的登录终结点不能被任何请求访问?

如何使用jOOQ在PostgreSQL中从枚举类型生成Java枚举

Bash数组的单引号元素并使用空格连接

如何使用 Java 替换位于特定标记内的 XML 标记的 CDATA 内的值