On Tue, 16 Aug 2005, Mark Womack wrote: | We can make it so that log4j is compatible with 1.2 and happy when it runs. | Just compile using jdk 1.2 instead of jdk 1.3 or 1.4. I think the messages | we are seeing are related to compiling the release lib with 1.4 instead of | 1.2 (or 1.1 in the case of 1.2.12). And they are non-fatal warnings, not | errors. I have to imagine that compiling with jdk 1.2 (or 1.1) will | generate compatible byte code for that jdk. And it appears that Ant will | support compiling with different jdk's while itself runs in jdk 1.4.
I do it every day. That is, running ant and the compile on jdk 1.5, and then running the code on 1.3 (not 1.2, because we haven't targetted that for the product in question). If you don't set the "target" flag (which was necessary from 1.4 or something?), the 1.3 jvm says "no way, these are too new class files". But with the target-stuff it works. The "classic" flag is out, isn't it?! You also have to set "bootclasspath" to a jdk 1.2 rt.jar to use those java.-classes, and thus get errors if you use 1.3+ features of the jdk. So, set source=1.2, target=1.2 and bootclasspath=/usr/java/jdk1.2/rt.jar, and the code will compile according to 1.2 rules, compile to 1.2 classfiles, and be compiled against 1.2 runtime libraries. It will thus run on 1.2 JREs! | I don't know if there is any performance penalty for running jdk 1.2 | byte code in 1.3/1.4. Don't believe so, and the JIT would probably eat it up anyway. The JVM hasn't got any new instruction set lately (ever), so it's not like "MMX" og "SSE" or similar new instructions that is used in 1.5, and cannot be used in 1.2. | | Assuming the above, the question still remains. Is there a compelling | reason to dump jdk 1.2 compatibility besides easing the building and testing | requirements? No. Don't do it. Regards, Endre --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]