當我充分認識到這個問題已經被問的方式在這個線程:UnsupportedClassVersionError開始卡桑德拉2.0.6
Cassandra:UnsupportedClassVersionError
然而,得到的答案給出:S /在那裏,我接受,不解決我的問題,因爲我有一個Java當前版本詳情如下:
D:\Development\Cassandra\apache-cassandra-2.0.6>java -version
java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)
知道了這一點,我仍然收到錯誤開始時卡桑德拉:
D:\Development\Cassandra\apache-cassandra-2.0.6>bin\cassandra -f Starting Cassandra Server Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/cassandra/service/CassandraDaemon : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 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) Could not find the main class: org.apache.cassandra.service.CassandraDaemon. Program will exit.
我在使用命令提示符(而不是Cygwin)啓動Cassandra的Windows XP機器上運行,並且我能夠在沒有任何問題的情況下啓動較早版本的Cassandra(apache-cassandra-1.1.4)。我是否在Cassandra的後期版本中做了一些不正確的事情,或者我錯過了配置中某處顯而易見的東西?
你如何開始cassandra?堆棧跟蹤絕對不是由Java 7 vm生成的。 –
我像啓動舊版本時那樣使用bin \ cassandra -f啓動它。 – Azkuma
當PATH指向JDK7時,JAVA_HOME環境變量可能指向JDK6。這將從命令行解釋正確的java版本,並且從cassandra啓動腳本中不正確。 「%JAVA_HOME%\ bin \ java」-version(在Windows上)的輸出是什麼? –