Skrive en JAR-fil programmatisk

Pakken org.eclipse.ui.jarpackager har funksjonsklasser til programmatisk eksport av filer til en JAR-fil. Her er en kodesnutt som viser bruk av klassen 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) {
            // Det har oppstått en feil under utføring av operasjonen
        } catch (InterruptedException e) {
            // Operasjonen er avbrutt.
        }
    }

Det finnes et tilleggs-API for å opprette en plugin-spesifikk subklasse under JarPackageData. Dette gjør det mulig for andre plugin-moduler å implementere sine egne veivisere for JAR-import/eksport og lagre innholdet i objektet JarPackageData i tilsvarende JAR-beskrivelsesfil.

Når JAR er beskrevet av en JarPackageData, kan den skrives programmatisk ved hjelp av JarWriter2.