2015-07-06 3 views
2

У меня есть код, который успешно скомпилирован в Idea, но не может быть скомпилирован maven clean package. КодОшибка компиляции Java: не удается найти символ

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), и этот код даже успешно компилируется в идее. Я что-то упускаю?

ответ

7

Похоже, ваш IDE использует Java 8, и ваш специалист настроен на использование Java 7.

Метод does not exist in java 7 и does exist in java 8

+0

Не понимаю этот ответ. ConcurrentHashMap, похоже, существует в java 7, нет? – jgivoni

+0

снова появляется сообщение об ошибке ... речь идет не о самом классе – rgasiore

Смежные вопросы