Het pakket org.eclipse.ui.jarpackager biedt utility-klassen om programmatisch bestanden te exporteren naar een JAR-bestand. Hieronder ziet u een stukje code met een overzicht van het gebruik van de klasse JarPackageData:
void createJar(IType mainType, IFile[] filestoExport) {
Shell parentShell= ...;
JarPackageData description= new JarPackageData();
IPath location= new Path("C:/tmp/myjar.jar");
description.setJarLocation(location);
description.setSaveManifest(true);
description.setManifestMainClass(mainType);
description.setElements(filestoExport);
IJarExportRunnable runnable= description.createJarExportRunnable(parentShell);
try {
new ProgressMonitorDialog(parentShell).run(true, true, runnable);
} catch (InvocationTargetException e) {
// Er is een fout opgetreden tijdens het uitvoeren van de bewerking.
} catch (InterruptedException e) {
// De bewerking is geannuleerd.
}
}
Er is een aanvullende API meegeleverd om een plugin-specifieke subklasse van JarPackageData te maken. Hierdoor kunt u afzonderlijke wizards voor het exporteren/importeren van JAR-bestanden implementeren in andere plugins en de inhoud van het object JarPackageData opslaan in een JAR-beschrijvingsbestand.
Wanneer het JAR-bestand is beschreven door middel van een JarPackageData, kan het programmatisch worden weggeschreven met een JarWriter2.