Как программно экспортировать дополнительные файлы .class с моим JAR - PullRequest
0 голосов
/ 15 февраля 2012

Мне нужны файлы .class (не относящиеся к исходным файлам в проекте), расположенные в одной из папок внутри проекта, для экспорта также с JAR.Если я экспортирую свой проект с «Развертываемыми плагинами и фрагментами» и указываю элементы, которые мне нужно экспортировать, в файл build.properties , он экспортирует все, что мне нужно, правильно.То же самое я хочу сделать программно.

Когда я создаю JAR-файл с

final JarPackageData jarPackage = jarCreator.create(project, jarLocation);

в функции создания, я устанавливаю параметры как

jarPackage.setJarLocation(jarLocation);
jarPackage.setExportClassFiles(true);
jarPackage.setManifestLocation(manifestFile.getFullPath());
jarPackage.setIncludeDirectoryEntries(true);
jarPackage.setExportWarnings(true);
jarPackage.setGenerateManifest(false);
jarPackage.setOverwrite(true);
jarPackage.setElements(elementsToExport.toArray());

Я проверял, чтовсе нужные мне файлы находятся в списке elementsToExport

final IJarExportRunnable jarExport = jarPackage.createJarExportRunnable(owner.getShell());

try{
   owner.getContainer().run(true, true, jarExport);
}

Результат:

  1. Экспортирует выбранную папку в экспортированный файл JAR
  2. Экспортирует текстовый файл (например), расположенный в этой папке.
  3. Но он не экспортирует файлы .class, расположенные в этой папке.

Пожалуйста, дайте мне знать, если у вас есть какие-либо подсказки, как настроить JarPackageData для возможности экспорта того, что находится в выбранной папке!

1 Ответ

0 голосов
/ 16 июня 2012

Я не уверен насчет конкретной системы сборки, которую вы используете, но файлы Jar являются zip-архивами, поэтому, если вам действительно это нужно, вы можете открыть их и вставить дополнительные файлы самостоятельно. Еще лучше написать сценарий для этого.

...