bekommen Guava auf die neueste 23.5-jre
von 18.0
Bei der Aktualisierung ich unterAuf Guava ein Upgrade auf die neueste 23,5 NoSuchMethodError für Preconditions.checkArgument
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
at com.van.common.VanExecutors.getSpec(VanExecutors.java:91)
at com.van.common.VanExecutors.newFixedSizeExecutor(VanExecutors.java:114)
at com.van.storage.config.ConfigStoreFactory.getOrCreateUncachedStore(ConfigStoreFactory.java:56)
at com.van.storage.config.ConfigStoreFactory.getOrCreateStore(ConfigStoreFactory.java:74)
at com.van.storage.config.PolicyManager.loadFromSystemProperties(PolicyManager.java:79)
at com.van.tools.metric.HbaseMetricStoreSetup.main(HbaseMetricStoreSetup.java:25)
der entsprechende Code
private ExecutorSpec getSpec(String executorName) {
Preconditions.checkArgument(isValid(), "Not initialized");
Preconditions.checkArgument(NullOrEmpty.isFalse(executorName), "No executor name given");
Preconditions.checkArgument(POOL_NAME_PATTERN.matcher(executorName).matches(), "Executor name %s must end with -exec", executorName);
for (ExecutorSpec spec : executorsSpec.getExecutorSpecList()) {
if (spec.getName().equalsIgnoreCase(executorName)) return spec;
}
return null;
}
als eine Ausnahme, wie ich immer pro StackTrace-Zeile 91 ist der letzte Pre-Conditions-Check.
Kann mir jemand sagen, was schief läuft?
https://stackoverflow.com/questions/45247193/nosuchmethoderror-com-google-common-base-preconditions-checkargumentzljava-lan –
Wie bei der Frage verknüpft. „Sie haben mehrere Versionen von Guava auf Ihrem Classpath Herauszufinden Welche Ihrer Abhängigkeiten hängen von Guava ab und stellen sicher, dass nur eine Version übrig bleibt. Du kompilierst gegen die neue Version, die die Methode hat, aber führe sie mit einer älteren aus, die nicht funktioniert (vor 20.0 gab es nur eine Varargs-Überladung). – maaartinus
@maaartinus Können Sie mich wissen lassen, wie kann ich das feststellen? Ich habe 'mvn dependency: tree' gemacht, aber es meldet an allen Orten die neuesten '23.5-jre'. – tuk