here is my scenario:
- workstation A : Sun JDK 1.6
- workstation B : Sun JDK 1.5
I build on A and B with Ant 1.7
<javac srcdir='${foo}' destdir='${bar}' source='1.5' target='1.5'> <include name='**/*.java'/> <exclude name='**/test/**/*.java'/> </javac>
yet the .class files are different size on A & B, let alone CRC. is it supposed to be this way? or am I missing something obvious?
Yes, it is supposed to be that way. Even when targeting the same VM, different compilers might emit different byte code. As long as the resulting program behaves correctly, the JLS doesn’t mandate precisely how source code is compiled to byte code.