关于编译Java在Eclipse下通过,ANT报错的解决方案

Eclipse是写Java首选IDE,而ANT做为Java的一种build工具,二者可以完美的结合。但偶尔我们遇到这样一个奇怪的现象:同样的代码,在Eclipse下编译一切正常,但用ANT脚本编译打包的时候会报错。这是什么原因呢?本文将解释问题的根源,并提供解决方案。

二者编译方式不同

解决方案

既然已经知道二者编译方式的不同,那就知道解决方案了。能否让ANT也通过JDTCompilerAdapter进行编译?答案是肯定的。

<property name="build.compiler" value="org.eclipse.jdt.core.JDTComilerAdapter"/>

把eclipse/plugins目录下的org.eclipse.jdt.*.jar复制到ANT安装目录下的lib文件夹中即可。

如果依旧报”org.eclipse.jdt.core.JDTComilerAdapter not found”,则把org.eclipse.jdt.core_*.jar中的jdtCompilerAdapter.jar提取出来放到lib目录下

<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" deprecation="true" source="1.6" target="1.6">
<classpath refid="jar.classpath">
</classpath>
</javac>

这里的sourcetarget属性必须指定,否则也会报错。

如果是使用命令行的方式运行ANT,则上述3步即可。如果需要在Eclipse中运行ANT,则还需要更改其runtime配置。 Window-Preferences-Ant-Runtime-Ant Home Entries-Add External Jars,把步骤2中的jar包都导入进来即可。


其他文章