构建到 Eclipse 中的 Ant 支持允许插件使用程序运行 Ant 构建文件。这是通过包括在 org.eclipse.ant.core 插件内的 AntRunner 类完成的。
以下代码段显示如何在另一插件的代码中使用 AntRunner 的示例:
import org.eclipse.ant.core.AntRunner; import org.eclipse.core.runtime.IProgressMonitor; ... public void runBuild() { IProgressMonitor monitor = ... AntRunner runner = new AntRunner(); runner.setBuildFileLocation("c:/buildfiles/build.xml"); runner.setArguments("-Dmessage=Building -verbose"); runner.run(monitor); }
如果使用进度监视器,则它将可供运行任务使用。有关更多详细信息,请参阅进度监视器。
注意,如果构建不是在单独的 VM 中进行,在任何给定时间都只能进行一个 Ant 构建。请参阅 AntRunner.isBuildRunning();
每次在 Eclipse 中运行 Ant 构建文件时,就会创建新的类装入器。因为在 Java 中一个类装入器只能装入一个库,所以利用本地库的任务在多构建文件运行期间可能会遇到问题。如果在新的类装入器尝试装入本地库时,尚未对先前的类装入器作垃圾回收,则将抛出异常以指示问题,并且构建失败。避免此问题的一种方法是由插件库内部的类处理库装入。该任务可以利用该类来访问本机方法。这样,该库由插件类装入器装入,并且它不会遇到装入库冲突。