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 has 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.
Once the JAR is described by a
JarPackageData,
it can be programmatically written using a
JarWriter3.