是否可以在包含java 1.6的本地机器中执行java 1.7编译的代码文件

时间:2013-12-23 08:22:37

标签: java selenium java-7 java-6

我有用java 1.7编译的java程序,我需要在另一台包含java 1.6的机器中使用这个编译文件。

当我运行1.7 java编译文件时,java 1.6“不支持的类版本异常”获取。

它们是否具有在java 1.6中执行java 7编译文件的向后兼容性。

5 个答案:

答案 0 :(得分:1)

对不起,据我所知,这是不可能的。您可以在JDK7上编译1.6兼容的类文件,但不能在较旧的虚拟机上运行JDK7类文件。

答案 1 :(得分:0)

  • 如果使用 -target > = 1.7进行编译,则会出现问题。 那是因为指示编译器生成要运行的字节码 在版本> = 1.7的JVM上。但是你在JVM 1.6上运行它。
  • 如果使用 -target < = 1.6进行编译,则应该没有问题。

答案 2 :(得分:0)

将其与另一个目标vm版本

进行编译
javac -target 1.6 -source 1.6 YourClass.java

然后,生成的类文件与目标vm版本兼容。

如果您正在使用 eclipse ,请右键点击该项目,然后选择Properties -> Java Compiler并调整Compiler compliance level

答案 3 :(得分:0)

尝试检查版本号时总是会失败。检查您的要求并与您的操作员交谈。如果您唯一的选择是在1.6的框中运行,那么您应该重新编译并确保在执行环境之前遇到更多问题之前获得有关执行环境的所有信息(例如,确保您了解JDK提供程序,生产机器依赖路径...)

答案 4 :(得分:0)

有一些例外的原因。如果您使用库而且它不在jdk 1.6中,则1.6中的编译代码存在问题,因为1.6不包含1.7中的库