我在试着把cassandra和Hector联系起来:
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"));
}
}问题是:
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我该怎么解决呢?
我对赫克托和卡桑德拉已经忍无可忍了,我试着联系他们,但都失败了。我运行twissjava sample,它可以工作,但是当我扩展main类来进行我自己的测试时,它不会运行。
发布于 2011-02-24 17:08:55
这个问题在"SLF4J in Hector"-page上的维基上有记录
简写:您需要添加一个实现SLF4J接口的库。
发布于 2012-02-17 23:13:31
您使用的是什么开发环境?
我在netbeans中也遇到了同样的问题。以下是您需要的文件(但请注意您正在使用的版本)。
log4j下载:http://www.findjar.com/jar/log4j/log4j/1.2.11/log4j-1.2.11.jar.html slf4j下载:http://www.findjar.com/jar/de/huxhorn/lilith/de.huxhorn.lilith.slf4j/0.9.35/de.huxhorn.lilith.slf4j-0.9.35.jar.html
附注:如果这些版本不起作用,请在findjar网站上搜索正确的版本,但我将这两个版本与cassandra 1.0.7和hector 1.0.2一起使用,它们对我有效。
发布于 2011-05-30 22:46:59
你必须在你的类路径中添加像SLF4j,Log4j这样的Hector依赖项,然后你的问题就解决了..我有完全相同的问题给你,我的问题solved..sorry对于我的英语..:d
https://stackoverflow.com/questions/5099307
复制相似问题