【发布时间】:2014-06-30 21:53:18
【问题描述】:
我正在 Windows Surface Pro 上测试 Java。 Surface Pro 有 Java 7 Update 55,但没有安装了 JDK。
我使用javac 从命令行在我的 MacBook 上编译了一个程序。 MacBook 有 Java 8 Update 5,它包含 JDK(显然是因为我在 MBP 上编译)。
当我将程序从 MackBook 移动到 Surface Pro 时,我收到以下错误。这里的“移动程序”是指将两个*.class文件复制到新机器上,并尝试执行字节码。
java.lang.UnsupportedClassVersionError: HttpsTest : Unsupported major.minor version 52.
尝试使用目标信息进行编译会导致:
$ javac -target 1.7 HttpsTest.java SSLSocketFactoryEx.java
javac: target release 1.7 conflicts with default source release 1.8
javac -help 没有列出任何选项来控制已编译程序的版本信息(target 除外,这似乎不起作用)。
如何为 JRE 的低级版本编译我的源文件?在本例中,我从 Java 8 机器定位 Java 7。
【问题讨论】:
标签: java compilation version javac