线程中的Tinyos异常;“主要”;java.lang.UnsupportedClassVersionError:.class文件中的版本号错误

线程中的Tinyos异常;“主要”;java.lang.UnsupportedClassVersionError:.class文件中的版本号错误,java,tinyos,Java,Tinyos,当我在TinyOS中使用make命令时,比如make mica2。将出现以下问题: 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(Unknown S

当我在TinyOS中使用make命令时,比如make mica2。将出现以下问题:

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(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
make: *** [exe0] Error 1
我重新安装了JAVA并添加了env变量,但它不起作用。我使用TinyOS 2.1和Java1.5U18。有人能帮我吗


通过安装JDK1.6解决了这个问题。虽然当我运行tos check env命令时,它会显示一条警告,告诉我它不是JDK 1.4或1.5。也许这是TinyOS中的一个bug

不受支持的ClassVersionError意味着您试图在旧版本的JVM上运行字节码,而不是在旧版本的JVM上编译。您可以使用类文件查看器来检查编译源代码的JDK版本,并确保它与JAVA 1.5 u18兼容。

不受支持的ClassVersionError表示您试图在比编译时更旧的JVM版本上运行字节码。您可以使用类文件查看器检查编译源代码的JDK版本,并确保它与JAVA 1.5 u18兼容。

您收到的错误意味着正在运行的JAVA版本正在尝试加载使用不兼容版本的JAVA编译的类

根据您提供的信息,不可能比这更具体地诊断问题-查看您正在使用的任何Java库及其所需的Java版本。如果您在这里找不到任何错误,您可能只需要在重新安装之前清除一些使用Java版本构建的缓存的*.class文件


最后,如果您安装了多个JVM,请确保
make
正在使用您期望的JVM。您完全有可能安装Java 1.5u18,但应用程序仍在某处查找并使用1.4 JVM。

您收到的错误意味着正在运行的Java版本正在尝试加载使用不兼容的Java版本编译的类

根据您提供的信息,不可能比这更具体地诊断问题-查看您正在使用的任何Java库及其所需的Java版本。如果您在这里找不到任何错误,您可能只需要在重新安装之前清除一些使用Java版本构建的缓存的*.class文件


最后,如果您安装了多个JVM,请确保
make
正在使用您期望的JVM。您完全可以安装Java 1.5u18,但应用程序仍然可以从某处查找并使用1.4 JVM。

通常会出现如下消息

(Unsupported major.minor version 49.0)
在异常消息的第一行中。然而,你得到了

Bad version number in .class file

那么,您的类文件可能已损坏?

通常会出现如下消息

(Unsupported major.minor version 49.0)
在异常消息的第一行中。然而,你得到了

Bad version number in .class file

那么,您的类文件可能已损坏?

我今天遇到了相同的错误,我只是通过安装java 1.6版和jre6,并将java 1.6版作为默认版本来解决它

我之前也安装了Java1.5,因为tos check env希望我安装Java1.4或Java1.5版本


我还将java 1.5和1.6版本都包含在我的类路径中,并在
/opt/tinyos-2.1.0/apps/Blink
目录中再次运行了
make-micaz
,它成功了。

我今天遇到了同样的错误,我只是通过安装java 1.6版和jre6,并将java 1.6版作为默认版本来解决它

我之前也安装了Java1.5,因为tos check env希望我安装Java1.4或Java1.5版本


我还将java 1.5和1.6版本都包含在我的类路径中,并在
/opt/tinyos-2.1.0/apps/Blink
目录中再次运行了
make-micaz
,它工作了。

使用sudo更新替代项--config java并设置您可能想要使用的版本。

使用sudo更新替代项--config java并设置您可能需要的版本想用