Пакет org.eclipse.ui.jarpackager предоставляет служебные классы для программного экспорта файлов в файл Jar. Приведенный фрагмент кода схематично поясняет использование класса 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) {
// При выполнении операции произошла ошибка
} catch (InterruptedException e) {
// операция была отменена.
}
}
Предоставляется дополнительный API, позволяющий создать для модуля производный класс объекта JarPackageData. С его помощью другие модули могут реализовывать свои собственные мастеры экспорта/импорта Jar и сохранять содержимое объекта JarPackageData в соответствующем файле описания Jar.
После того как файл JAR описан объектом JarPackageData, его можно создать программным образом с помощью JarWriter2.