Programmatisch een JAR-bestand schrijven

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.