2017-02-09 1 views
0

botte de printemps Cassandra démarreur 1.5.1 lance exceptions:données ressort cassandra ImmutableMap exception

java.lang.ClassNotFoundException: com.google.common.util.concurrent.AsyncFunction 

et

java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap 

lorsque vous essayez de créer un objet CassandraClusterFactoryBean.

Y a-t-il une solution de contournement pour cela?

Un nouveau projet Spring - projet cassandra de start.spring.io lance également une exception similaire dans son test.

Répondre

0

ClassNotFoundException signifie que ces classes ne sont pas dans votre classpath, alors vous devez ajouter cette dépendance à votre pom.xml

<!-- https://mvnrepository.com/artifact/com.google.guava/guava --> 
<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava</artifactId> 
    <version>16.01</version> 
</dependency> 

Si vous n'utilisez pas maven, allez à ce link et télécharger le pot fichier et inclure dans votre java classpath Selon la façon dont vous faites votre projet, cette version de cette dépendance va changer, il suffit de regarder pour une version compatible pour votre version printemps-données here

Mise à jour: vous devez utiliser guava 16.01 method, parce que dans guava 19 method la méthode ne sera plus valable que l'API a dit

@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. 

Selon le this dans la section des dépendances compilées, la goyave est 16,01

+0

données Spring cassandra apporte déjà goyave 19,0, mais pour vérifier dehors cela fonctionne, j'ai ajouté 21,0 dep. Cette dint résoudre le problème, il donne toujours une exception avec Causé par: java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor() Lcom/google/common/util/concurrent/ListeningExecutorService; \t à com.datastax.driver.core.PoolingOptions. (PoolingOptions.java:146) ~ [cassandra-pilote-core-3.1.3.jar: na] –

+0

Voir ma mise à jour, vous devez utiliser la goyave 16.01 comme point de version compilé, toute autre version vous donnera des conflits – Koitoer

+0

de sorte que travaux ? – Koitoer