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.