我使用ant来使用eclipse中使用的相同eclipse编译器来构建源代码。问题是:
使用eclipse编译器通过ant构建,它是错误的,在编译相同的代码并使用相同的jdk(1.6)和jdt时,它可以在eclipse中运行。 主要是jdt jar如下:(org.eclipse.jdt.core_3.13.100.v20171123-1049.jar,org.eclipse.jdt.compiler.apt_1.3.60.v20171129-1553.jar,org.eclipse.jdt.compiler。 tool_1.2.51.v20171122-1403.jar)。 但是如果使用jdk(1.8)和相同的jdt,ant(eclipse编译器)可以成功编译。
一些生成的类文件的大小与通过在eclipse中编译生成的类文件大小不同。例如:
eclipse编译器通过ant jdk1.8和eclipse jdk1.6以及相同的jdk。
eclipse编译器通过ant jdk1.6,低jdt以及eclipse jdk1.6和高jdk。
为什么这些?按照规定,我告诉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构建,错误如下:
由于依赖项无效,无法加载类org.eclipse.jdt.core.JDTCompilerAdapter。
这是蚂蚁建筑错误: