I'm testing Java on a Windows Surface Pro. The Surface Pro has Java 7 Update 55, but does not have the JDK installed.
I compiled a program on my MacBook from the command line using javac
. The MacBook Has Java 8 Update 5 and it includes the JDK (obviously because I compiled on the MBP).
When I move the program from the MackBook to the Surface Pro, I get the following error. Here, "moving the program" means copying the two *.class
files to the new machine and trying to execute the byte codes.
java.lang.UnsupportedClassVersionError: HttpsTest : Unsupported major.minor version 52.
Trying to compile with target information results in:
$ javac -target 1.7 HttpsTest.java SSLSocketFactoryEx.java
javac: target release 1.7 conflicts with default source release 1.8
javac -help
does not list any options to control the version information of the compiled program (other than target
, which does not appear to work).
How do I compile my source files for down level versions of a JRE? In this case, I'm targeting Java 7 from a Java 8 machine.