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.
Una vez descrito mediante un objeto JarPackageData, el archivo JAR se puede escribir programáticamente con una clase JarWriter.