Skriv JAR-filer programmatisk

Pakken org.eclipse.ui.jarpackager indeholder funktionsklasser, som kan anvendes til programmatisk at eksportere filer til en JAR-fil. Nedenfor vises et kodestykke, hvor brugen af klassen JarPackageData skitseres:

    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) {
            // Der er opstået en fejl under udførelsen af funktionen
        } catch (InterruptedException e) {
            // Funktionen er annulleret.
        }
    }

Der stilles et yderligere API til rådighed for at oprette en plugin-specifik underklasse til JarPackageData. Dermed kan andre plugins implementere deres egne JAR-eksport/import-guider og gemme indholdet af objektet JarPackageData i en tilsvarende JAR-beskrivelsesfil.

Når først JAR-filen er beskrevet af en JarPackageData, kan den skrives programmatisk ved hjælp af en JarWriter2.