当我启动Cassandra CLI并设置主机/端口时,每当我尝试键入任何内容(甚至帮助或退出)时,它都会给我这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/runtime/RecognizerSharedState
at org.apache.cassandra.cli.CliLexer.<init>(CliLexer.java:159)
at org.apache.cassandra.cli.CliCompiler.compileQuery(CliCompiler.java:73)
at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:198)
at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:220)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:348)
Caused by: java.lang.ClassNotFoundException: org.antlr.runtime.RecognizerSharedState
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
对我来说,Antlr存在问题,但我在该领域没有任何经验。我很确定我的Cassandra铃声也没有问题。有谁知道怎么了?
提前致谢。
答案 0 :(得分:0)
您是从源检出,二进制tarball还是打包安装运行?我怀疑类路径没有正确设置或者所有依赖项还没有被提取(如果你是从源代码运行的)。
答案 1 :(得分:0)
原因是我没有使用最新版本的antlr(目前为3.2)。不管怎样,谢谢!