Kjøre Ant-byggefiler ved hjelp av et program

Den innebygde Ant-støtten i Eclipse gjør det mulig for plugin-moduler å kjøre Ant-byggefiler ved hjelp av et program. Dette gjøres via klassen AntRunner i plugin-modulen org.eclipse.ant.core.

Følgende kodesnutt er et eksempel på hvordan AntRunner kan brukes fra koden til en annen plugin-modul:

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);
}

Ved bruk av fremdriftsovervåking gjøres dette tilgjengelig for oppgavene som kjører. Du finner mer informasjon under Fremdriftsovervåking.

Merk at Ant-bygging bare kan utføres på et gitt tidspunkt hvis byggingen ikke utføres i separate VMer. Se AntRunner.isBuildRunning();

Spesielle hensyn ved interne biblioteker hvis bygging utføres i samme JRE som arbeidsområdet

Hver gang en Ant-byggefil kjører i Eclipse, opprettes en ny klasselaster. Siden et bibliotek bare kan lastes inn av en klasselaster i Java, kan det oppstå problemer for oppgaver som bruker interne biblioteker, når byggefilen kjøres flere ganger. Hvis den forrige klasselasteren ikke er samlet inn som dataavfall når den nye klasselasteren forsøker å laste inn det interne biblioteket, oppstår et unntak som angir problemet, og byggingen mislykkes. Dette problemet kan unngås ved at innlastingen av biblioteket håndteres av en klasse i et plugin-bibliotek. Oppgaven kan bruke denne klassen for å få tilgang til interne metoder. På denne måten lastes biblioteket inn ved hjelp av plugin-klasselasteren og det oppstår ikke problemer med innlastingen.