[英]Why are class files different size when compiling the same code in eclipse, and then with the eclipse compiler via ant?
我正在使用ant使用一个自动构建环境,使用与eclipse中使用的相同的eclipse编译器来构建一个新签出的源树。 问题在于,某些生成的类文件的大小与在eclipse中编译生成的类文件的大小不同。 为什么是这样? 这样可以吗? 按照规定,我要告诉Ant使用eclipse编译器,例如:
<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使用自己的编译器,该编译器会生成稍有不同的字节码,但它们是正确的。
Ant使用JDK中提供的标准Sun编译器javac。
可以从eclipse.org下载eclipse编译器,并告诉ant使用它。 这具有能够单独使用JRE进行编译的附加好处,它比完整的JDK易于安装。 在http://download.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/index.php中查找“ JDT Core Batch编译器”
编辑:即使使用相同的编译器,生成的字节码也可能不同。 影响此的一些因素是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.