O pacote org.eclipse.ui.jarpackager fornece classes de utilitários para exportar arquivos através de programação para um arquivo Jar. A seguir, um trecho de código que descreve o uso da classe 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 durante a execução da operação
} catch (InterruptedException e) {
// a operação foi cancelada.
}
}
É fornecida uma API adicional para criar um subclasse de JarPackageData específica do plug-in. Isto permite que outros plug-ins implementem seus próprios assistentes Java de exportação/importação e salvem o conteúdo do objetoJarPackageData em um arquivo de descrição Jar correspondente.
Depois que o JAR é descrito por um JarPackageData, ele pode ser gravado de maneira programática, utilizando um JarWriter2.