日期:2014-05-20  浏览次数:20919 次

命令行运行ant脚本,使用eclipse jdt编译,失败。。
项目中使用了<X> X这种类型,在eclipse中能正确编译通过。
而编写ant脚本却编译失败。后来知道是因为ant javac默认使用jdk进行编译的。

在build.xml里面加入使用eclipse jdt进行编译的脚本,

<!-- 使用eclipse jdt进行编译,而不使用JDK编译 -->
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>


在eclipse里面,运行ant脚本成功!
并且我将下面仨个包已经加入到ant安装目录的lib目录中。
org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x.jar
org.eclipse.jdt.core_3.5.2.v_981_R35x.jar
org.eclipse.jdt.debug.ui_3.4.1.v20090811_r351.jar

可是,在命令行运行ant脚本却报错:
Class not found: org.eclipse.jdt.core.JDTCompilerAdapter

网上说加入那仨个包到ant lib里面就不会报此错。可是。。。还是报错呀!!!






------解决方案--------------------
要在命令行运行,需要拷贝jdtCompilerAdapter.jar到ant_home/lib。
该jar在org.eclipse.jdt.core_3.5.2.v_981_R35x.jar里面。