Η υποστήριξη του Ant που είναι ενσωματωμένη στο Eclipse επιτρέπει στις πρόσθετες λειτουργίες να εκτελούν αρχεία δόμησης Ant με προγραμματισμό. Αυτό επιτυγχάνεται μέσω της κλάσης AntRunner που περιλαμβάνεται στην πρόσθετη λειτουργία org.eclipse.ant.core.
Το ακόλουθο τμήμα κώδικα δείχνει ένα παράδειγμα του τρόπου χρήσης του 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); }
Εάν χρησιμοποιείται μια λειτουργία παρακολούθησης προόδου, διατίθεται για τις εργασίες που εκτελούνται. Δείτε το Λειτουργίες παρακολούθησης προόδου για περισσότερες λεπτομέρειες.
Σημειώστε ότι μόνο μια δόμηση Ant μπορεί να εκτελείται για κάθε δεδομένη στιγμή, εάν οι δομήσεις δεν εκτελούνται σε ξεχωριστά VM. Δείτε το AntRunner.isBuildRunning();
Κάθε φορά που ένα αρχείο δόμησης Ant εκτελείται στο Eclipse δημιουργείται ένας νέος φορτωτής κλάσεων. Δεδομένου ότι μια βιβλιοθήκη μπορεί να φορτωθεί μόνο από ένα φορτωτή κλάσης στη Java, οι εργασίες που χρησιμοποιούν ενσωματωμένες βιβλιοθήκες μπορεί να συναντήσουν προβλήματα κατά τις εκτελέσεις πολλαπλών αρχείων δόμησης. Εάν ο προηγούμενος φορτωτής κλάσης δεν συνελέγη από τα απορρίμματα όταν ο νέος φορτωτής κλάσης επιχειρεί να φορτώσει την ενσωματωμένη βιβλιοθήκη, προκαλείται μια εξαίρεση η οποία δηλώνει το πρόβλημα και η δόμηση αποτυγχάνει. Ένας τρόπος αποφυγής αυτού του προβλήματος είναι να γίνεται η διαχείριση της φόρτωσης της βιβλιοθήκης από μια κλάση εντός μιας βιβλιοθήκης πρόσθετης λειτουργίας. Η εργασία μπορεί να χρησιμοποιεί αυτή την κλάση για την πρόσβαση στις ενσωματωμένες μεθόδους. Με αυτόν τον τρόπο η βιβλιοθήκη φορτώνεται από τον φορτωτή κλάσης της πρόσθετης λειτουργίας και δεν αντιμετωπίζει τη διένεξη της φόρτωσης της βιβλιοθήκης.