Java错误:尝试在OS X上运行Cassandra时,.class文件中的版本号错误 [英] Java error: Bad version number in .class file error when trying to run Cassandra on OS X

查看:107
本文介绍了Java错误:尝试在OS X上运行Cassandra时,.class文件中的版本号错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想让Cassandra在OS X上运行。当我运行 bin / cassandra 时,我收到以下错误:

I am trying to get Cassandra to work on OS X. When I run bin/cassandra, I get the following error:

~/apache-cassandra-incubating-0.4.1-src > bin/cassandra -f
Listening for transport dt_socket at address: 8888
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
 at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)

通过搜索我可以确定,此错误与Java的不兼容版本有关。但是,据我所知,我有最新版本的Java:

From what I could determine by searching, this error is related to incompatible versions of Java. However, as far as I can tell, I have the latest version of Java:

    ~/apache-cassandra-incubating-0.4.1-src > java -version
    java version "1.6.0_13"
    Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211)
    Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)
    ~/apache-cassandra-incubating-0.4.1-src > javac -version
    javac 1.6.0_13
    ~/Downloads/apache-cassandra-incubating-0.4.1-src > echo $JAVA_HOME
    /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home

关于我做错了什么想法?

Any ideas on what I'm doing wrong?

推荐答案

坏版本号几乎总是因为您已经将java文件编译为具有一个版本的类文件,并且正在尝试使用早期版本运行它。

The bad version number is almost always because you've compiled your java file to a class file with one version and are trying to run it with an earlier version.

您需要确定这个 cassandra正在使用您认为的Java版本。它不一定使用从命令提示符运行java时获得的那个。

You need to be certain the this "cassandra" is using the Java version you think it is. It's not necessarily using the same one you get when running java from the command prompt.

这篇关于Java错误:尝试在OS X上运行Cassandra时,.class文件中的版本号错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆