【问题标题】:JAVA runtime error:Unsupported major.minor version 51.0JAVA运行时错误:不支持major.minor 51.0版
【发布时间】:2014-05-02 06:52:44
【问题描述】:

我有java version "1.6.0_45" 和javac 1.7.0_51,当我以javac -source 1.6 Mouse.java 运行我的文件时,它会显示错误warning: [options] bootstrap class path not set in conjunction with -source 1.6 1 warning,当我运行简单的java Mouse 时,它会显示错误 Exception in thread "main" java.lang.UnsupportedClassVersionError: Mouse : Unsupported major.minor version 51.0.

【问题讨论】:

标签: java linux javac


【解决方案1】:

java.lang.UnsupportedClassVersionError: Mouse : Unsupported major.minor version 51.0

该错误是由不兼容的 Java 版本引起的。您最有可能尝试使用较旧的 Java 版本运行由较新的 Java 版本编译的东西。您应该检查您的 Java 版本。 51.0是JDK7支持的较新的类文件格式

【讨论】:

  • thanx..我知道这是个问题...我正在用 1.7 编译并用 1.6 运行...你知道任何解决方案吗
  • 您是否在代码中使用了任何 JDK7 扩展和功能?
【解决方案2】:

您正在使用 1.7 进行编译,生成 1.7 代码。您正在尝试使用 Java 1.6 来执行所述代码。没用。

编辑:使用 1.6 编译(如果可能)或使用 > 1.7 兼容的 JRE 来执行您的代码。

【讨论】:

  • 我使用了命令 javac -source 1.6 Mouse.java...它显示错误
  • 您需要使用兼容 1.6 的 JDK 才能编译 1.6(并且必须使用正确目录中的 javac 可执行文件)。但是由于您不知道是否可以轻松地使用 1.6 编译代码:请改用 1.7 兼容的 JRE。
  • 你能解释一下吗
  • 你明白这个问题了吗?您为 1.7 编译但正在尝试使用 1.6 来执行您的代码。因此,您需要 JRE7。您可以在 Oracle 的网站上找到它。安装后,您可以使用 JRE7 中的 java 可执行文件来执行您的代码。
【解决方案3】:

您告诉 javac 您的源代码应该与 Java 6 兼容(即它不应该使用 Java 7 的特定功能,例如 try-with-resources 或菱形运算符)。

但是您没有告诉它编译与 Java 6 兼容的类文件。这是使用 -target 1.6 选项完成的。

坦率地说,如果您希望源代码和目标类文件与 1.6 兼容,我会使用 JDK 1.6 来编译您的类。这将保证(正如您收到的警告消息告诉您的那样)您的代码也没有使用 Java 7 中引入的 JDK 类和方法。

【讨论】:

  • 我应该安装jre7还是jdk 1.6??哪个会更好??
  • 从了解JDK和JRE的区别开始。然后安装JDK7做Java 7开发,安装JDK6做Java 6开发。两者兼而有之不是问题。我的机器上安装了 3 个 JDK,因为有些项目在 6 上,有些在 7 上,有些在 8 上。
猜你喜欢
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 2012-10-10
  • 1970-01-01
相关资源
最近更新 更多