我创建了一个jar文件(使用jdk1.7进行了编译)。当我在项目中(使用JRE 1.6)使用此jar时,出现以下异常-不支持的major.minor版本51.0(我想51.0用于jdk1.7)。我将eclipse IDE用于所有这些操作。

我想知道这种异常是一种规范(在这种情况下)还是仅因为eclipse中的类加载方式不同而来

最佳答案

这是预期的。专为Java版本编译的字节码,不能在较低版本上执行。这是因为它可能具有早期Java版本不支持的字节码指令和/或功能。

要编译较低的Java版本,您需要明确指定编译的目标版本,例如:

javac -target 1.6 ...


在Eclipse中,可以在“属性”>“ Java编译器”>“生成的.class文件兼容性”下进行设置。但是通常建议只使用Java 6编译器来确保您实际上仅使用Java 6中包含的功能和库。

10-07 12:42
查看更多