Escrever de forma Programática um ficheiro Jar

O pacote org.eclipse.ui.jarpackager fornece classes utilitárias para exportar de forma programática ficheiros para um ficheiro Jar. Em seguinte, e apresentado um fragmento de código que destaca o uso da classes 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) {
            // Ocorreu um erro ao executar a operação
        } catch (InterruptedException e) {
            // operação cancelada.
        }
    }

É fornecida uma API adicional para criar uma subclasse específica de plug-in JarPackageData. Isto permite que outros plug-ins implementem os seus próprios assistentes de importação/exportação Jar e guardem o conteúdo do objecto JarPackageData num correspondente ficheiro de descrição Jar.

Assim que o JAR é descrito por um JarPackageData, pode ser escrito de forma programática com um JarWriter2.