2011-02-24 6 views
4

im essayant de se connecter avec Hector cassandra:Hector de se connecter avec Cassandra

public class Main { 
    public static void main(String[] args) { 
     StringSerializer stringSerializer = StringSerializer.get(); 
     Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160"); 
     Keyspace keyspace = HFactory.createKeyspace("Keyspace1", cluster); 
     Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer); 
     mutator.insert("jsmith", "Standard1", HFactory.createStringColumn("first", "John")); 
    } 

} 

Le problème:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder 
    at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230) 
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121) 
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112) 
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:261) 
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:43) 
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:57) 
    at me.prettyprint.cassandra.service.ThriftCluster.<init>(ThriftCluster.java:17) 
    at me.prettyprint.hector.api.factory.HFactory.createCluster(HFactory.java:112) 
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:104) 
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:96) 
    at javaapplication1.Main.main(Main.java:25) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:276) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:265) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:264) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:325) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:270) 
    ... 13 more 
Java Result: 1 

Comment pourrais-je résoudre?

Je suis à ma dernière patience avec Hector et Cassandra, j'ai essayé de se connecter et échoué. Je cours l'échantillon de twissjava et cela fonctionne, mais quand j'étire la classe principale pour faire mon propre essai il ne fonctionne pas.

+0

Il semble que vous n'ayez pas les liaisons Log4J dans votre chemin. Avez-vous lu la page Web référencée? (http://www.slf4j.org/codes.html#StaticLoggerBinder) –

Répondre

3

Ce problème » est documenté sur le wiki sur le "SLF4J in Hector"-page

Version courte:. Vous devez ajouter une bibliothèque qui implémente l'api SLF4J

+0

par exemple Logback, une implémentation de SLF4J: http://logback.qos.ch/ – Christoph

1

vous devez ajouter Hector dépendances comme SLF4J, Log4j à votre classpath, votre problème solved..i ont exactement le même problème pour vous et mon solved..sorry problème pour mon anglais ..: D

2

Quel environnement de développement utilisez-vous

J'ai eu le même pro? blem dans netbeans. Voici les fichiers dont vous avez besoin (mais attention aux versions que vous utilisez).

log4j téléchargement: http://www.findjar.com/jar/log4j/log4j/1.2.11/log4j-1.2.11.jar.html slf4j télécharger: http://www.findjar.com/jar/de/huxhorn/lilith/de.huxhorn.lilith.slf4j/0.9.35/de.huxhorn.lilith.slf4j-0.9.35.jar.html

P.S. rechercher le site findjar pour les versions correctes si celles-ci ne fonctionnent pas, mais j'utilise ces deux avec cassandra 1.0.7 et hector 1.0.2 et ils ont travaillé pour moi.

Questions connexes