编译下列代码时报出如下错误:
static CuratorFramework client = CuratorFrameworkFactory.builder()
.connectString("hadoop01:2181,hadoop02:2181,hadoop03:2181")
.retryPolicy(new ExponentialBackoffRetry(1000, 3))
.build();
错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
map cannot be resolved to a variable
at com.google.common.collect.Maps.newConcurrentMap(Maps.java:144)
at org.apache.curator.framework.listen.ListenerContainer.<init>(ListenerContainer.java:35)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.<init>(CuratorFrameworkImpl.java:145)
at org.apache.curator.framework.CuratorFrameworkFactory$Builder.build(CuratorFrameworkFactory.java:122)
at com.zktest.Recipes_Lock.<clinit>(Recipes_Lock.java:25)
解决方案:
1,从MVN中央仓库http://maven.outofmemory.cn下载google-collections-1.0
2, com.google.common.base.Suppliers 中报出 public static <T> Supplier<T> ofInstance(@Nullable T instance) @Nullable异常,检查发现import javax.annotation.Nullable有问题,没有导入相应的类文件,继续从网上找jsr308-all-1.1.2.jar包解决
3,问题集中到com.google.common.collect.Maps.newConcurrentMap(Maps.java:144),开始提示无法找到newConcurrentMap()对应的方法,因无法翻墙下载google-collections最新版本,只能尝试修改google-collections-1.0中的新增newConcurrentMap()
public static <K, V> ConcurrentMap<K, V> newConcurrentMap() {
return new ConcurrentMap<K, V>();
}
上述还是无法解决问题!只能继续找解决方案!