The article “Don’t be fooled by javac -target 1.4” shows that compiling with -target 1.4 still can create class files which will not run on JRE 1.4.
It also describes how the -bootclasspath parameter can solve this problem.
Now my question: if I compile with the Sun JDK 1.6 version of javac, using the source and target parameters set to 1.3, is safe to assume that the compiled classes will work on a JRE 1.3?
They won’t work if you use any methods or classes in the standard library that didn’t exist in 1.3, as these files are not compiled into your program, but are part of the JVM’s libraries.