Escribir programáticamente un archivo Jar

El paquete org.eclipse.ui.jarpackager proporciona clases de utilidades que permiten exportar programáticamente archivos a un archivo Jar. A continuación figura un fragmento de código que indica la utilización de la clase 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) {
            // Se produjo un error mientras se ejecutaba la operación
        } catch (InterruptedException e) {
            // La operación ha sido cancelada.
        }
    }

Se proporciona una API adicional para crear una subclase de JarPackageData específica del conector. Esto permite a los otros conectores implementar sus propios asistentes de exportación/importación de Jar y guardar el contenido del objeto JarPackageData en el correspondiente archivo de descripción de Jar.

El JAR, cuando esté descrito por JarPackageData, se puede escribir programáticamente con JarWriter2.