From: Dillard, C. <cdi...@sy...> - 2005-11-29 16:11:10
|
> The only condition (in my understanding) is that the code must be > compiled with a J2SE 1.5 compiler with the -target 1.4 option, and we > must make sure that we don't use 1.5 API (we can ensure that with the > javac -bootclasspath option). The result should run on a 1.4 JVM with no > change and no trick needed. Unfortunately, this will not work using Sun's compiler. Use of the "-target 1.4" option requires the use of the "-source 1.4" option. This means that you cannot target 1.4 if there are any 1.5 language features in the source, such as annotations or generics. For example, try compiling this class: public class Test { @Override public String toString() { return "test"; } } If you run "javac -target 1.4 Test.java", it fails with an error message, as does "jaac -source 1.5 -target 1.4". And, of course, "javac -source 1.4 -target 1.4" fails with a compile error. I wonder if other compilers are as strict. Chris |