JAR-Datei programmgestützt schreiben

Das Paket org.eclipse.ui.jarpackager bietet Dienstprogrammklassen zum programmgestützten Exportieren von Dateien in eine JAR-Datei. Nachfolgend ist ein Codeausschnitt dargestellt, der die Verwendung der Klasse JarPackageData umreißt:

    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) {
            // An error has occurred while executing the operation
        } catch (InterruptedException e) {
            // operation has been canceled.
        }
    }

Eine zusätzliche API wird für die Erstellung einer Plug-in-spezifischen Unterklasse vonJarPackageData bereitgestellt. Hierdurch können andere Plug-ins eigene Assistenten für den Export/Import von JARs implementieren und den Inhalt des Objekts JarPackageData in einer entsprechenden JAR-Beschreibungsdatei speichern.

Sobald die JAR durch ein Objekt JarPackageData, beschrieben ist, kann sie unter Verwendung eines JarWriter2 programmgestützt geschrieben werden.