Spring boot Cassandra starter 1.5.1抛出异常:
java.lang.ClassNotFoundException: com.google.common.util.concurrent.AsyncFunction
和
java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
尝试创建CassandraClusterFactoryBean
对象时。
有解决方法吗?
一个新的Spring数据 - 来自start.spring.io的cassandra项目在测试运行中也会引发类似的异常。
答案 0 :(得分:0)
ClassNotFoundException
表示这些类不在您的类路径中,那么您应该将此依赖项添加到您的pom.xml
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.01</version>
</dependency>
如果您不使用maven,只需转到此link并下载jar文件并将其包含在java类路径中 根据您执行项目的方式,此依赖项的此版本将更改,只需查找spring-data版本的兼容版本here
更新: 您应该使用guava 16.01 method,因为在guava 19 method中该方法不再有效,因为API说
@Deprecated
@GwtIncompatible(value="TODO")
public static ListeningExecutorService sameThreadExecutor()
Deprecated. Use directExecutor() if you only require an Executor and newDirectExecutorService() if you need a ListeningExecutorService.
This method will be removed in August 2016.
根据编译的依赖项部分中的this,guava是16.01