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.