Java compilation error: cannot find symbol

Java compilation error: cannot find symbol

我有一段代码在Idea中编译成功,但maven clean package编译失败。 密码是

import java.util.concurrent.*;

public class WebStatusMonitor {

    private ConcurrentMap<String, Double> load = new ConcurrentHashMap<>();

    public void handle(...) {
        ...
        snapshot.add(String.format("cpu: %s", load.getOrDefault("cpu", 0.)));
        ...
    }

并且编译失败并出现错误

[ERROR] WebStatusMonitor.java:[121,66] cannot find symbol
symbol:   method getOrDefault(java.lang.String,java.lang.Double)
location: variable load of type java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.Double>

我已经包含了我使用的东西(实际上一切都是Idea自动包含的)并且这段代码甚至在Idea中编译成功。我错过了什么吗?

看起来你的 IDE 使用 java 8 而你的 maven 配置为使用 java 7.

方法does not exist in java 7 and does exist in java 8