Java编译错误:找不到符号

时间:2015-07-06 10:13:21

标签: java maven compiler-errors

我有一个在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中成功编译。我错过了什么吗?

1 个答案:

答案 0 :(得分:8)

看起来您的IDE使用java 8,而您的maven配置为使用java 7。

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