I am making an automated build environment using ant to build a freshly checked out source tree using the same eclipse compiler that is used in eclipse. The problem is that some of the resulting class files are different in size than the class file generated by compiling within eclipse. Why is this? Is this ok, and to be expected? As prescribed I'm telling Ant to use the eclipse compiler, like:
<target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<antcall target="build"/>
</target>
Eclipse uses its own compiler, which generates slightly different - but correct - bytecode.
Ant uses the standard Sun compiler - javac - available in the JDK.
The eclipse compiler can be downloaded from eclipse.org and ant told to use it. This has the added benefit of being able to compile with the JRE alone, which is much easier to install than the full JDK. Look for "JDT Core Batch Compiler" in http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/index.php
EDIT: Even with the same compiler the byte code generated may be different. Some factors that influence on this are:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With