linux JAVA运行时错误:不支持的主要错误。次要版本51.0
当我以javac -source 1.6 Mouse.java
的形式运行我的文件时,我有java version "1.6.0_45"
和javac 1.7.0_51
,然后它显示这个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
# 1 楼答案
该错误是由不兼容的Java版本引起的。您很可能正在尝试运行由较新的Java版本和较旧的Java版本编译的内容。你应该检查你的Java版本。51.0是JDK7支持的较新的类文件格式
# 2 楼答案
您正在使用1.7进行编译,从而生成1.7代码。您正在尝试使用Java1.6来执行上述代码。没用
编辑:使用1.6(如果可能)编译或使用>;1.7兼容的JRE来执行您的代码
# 3 楼答案
您告诉javac,您的源代码应该与Java6兼容(也就是说,它不应该使用Java7特有的特性,比如try with resources或diamond操作符)
但你没有告诉它编译与Java 6兼容的类文件。这是使用
-target 1.6
选项完成的坦率地说,如果希望源代码和目标类文件与1.6兼容,我会使用JDK1.6来编译类。这将保证(正如您收到的警告消息所告诉您的)您的代码也没有使用Java 7中引入的JDK类和方法