Il supporto Ant incorporato in Eclipse consente ai plug-in di eseguire mediante programmazione i file di generazione Ant. Questa operazione viene eseguita mediante la classe AntRunner inclusa nel plug-in org.eclipse.ant.core.
Il seguente frammento di codice mostra un esempio di come utilizzare AntRunner:
import org.eclipse.ant.core.AntRunner; import org.eclipse.core.runtime.IProgressMonitor; public class Running { public static void main(String[] args) throws Exception { IProgressMonitor monitor = ... AntRunner runner = new AntRunner(); runner.setBuildFileLocation("c:/buildfiles/build.xml"); runner.setArguments("-Dmessage=Building -verbose"); runner.run(monitor); } }
Se viene utilizzato un controllo di avanzamento, questo è reso disponibile per le attività in esecuzione. Per ulteriori dettagli, vedere Controlli di avanzamento. Solo una generazione Ant può essere eseguita in un determinato momento. Vedere AntRunner.isBuildRunning();
Ogni volta che viene eseguito uno script Ant in Eclipse viene creato un nuovo caricatore di classe. Dal momento che in Java una libreria può essere caricata solo da un caricatore di classe, le attività che fanno uso di librerie native potrebbero incorrere in problemi durante le esecuzioni di più script. Se il precedente caricatore di classe non è stato sottoposto a garbage collection quando il nuovo caricatore di classe tenta di caricare la libreria nativa, viene generata un'eccezione per segnalare il problema e l'esecuzione dello script avrà esito negativo. Uno dei modi per evitare il problema consiste nel fare in modo che il caricamento di librerie venga gestito da una classe all'interno di una libreria di plug-in. L'attività può fare uso della classe in questione per accedere ai metodi nativi. In questo modo, la libreria viene caricata dal caricatore di classe del plug-in e non incorre in problemi di conflitto con il caricamento della libreria.