Programmatically writing a Jar file

The org.eclipse.ui.jarpackager package provides utility classes to programmatically export files to a Jar file. Below is a code snippet that outlines the use of the JarPackageData class:

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 had been canceled.
    }
}


Additional API is provided to create a plug-in specific subclass of JarPackageData. This allows other plug-ins to implement their own Jar export/import wizards and to save the content of the JarPackageData object to a corresponding Jar description file.

Copyright IBM Corporation and others 2000, 2002. All Rights Reserved.