Tengo un código que se compiló con éxito en Idea pero no pudo ser compilado por maven clean package
. El codigo es
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.)));
...
}
Y la compilación falla con error
[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>
He incluido lo que uso (en realidad, todo fue incluido automáticamente por Idea) y este código incluso se compiló con éxito en Idea. ¿Me estoy perdiendo de algo?
Parece que su IDE usa java 8 y su maven está configurado para usar java 7.
El método no existe en java 7 y existe en java 8
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras