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.