Eclipse выполнить файл в банке - PullRequest
0 голосов
/ 15 марта 2011

Я разрабатываю продукт Eclipse.В мой плагин я добавил исполняемый файл (.exe), который мне нужно выполнить.Когда я запускаю продукт из затмения, на файл ссылаются по пути к исполняемому файлу в моей файловой системе, и все идет нормально.

Когда я экспортирую продукт, плагин упаковывается в файл jar, который содержитисполняемый файл тоже.Когда он ссылается на файл, путь выглядит примерно так:

$path_to_the_plugin_jar!/$path_to_exe_file_inside_the_jar

Использование этого пути для запуска нового процесса. Возникла исключительная ситуация.

Как я могу сослаться на файл внутри банки? КакМогу ли я выполнить файл?

Могу ли я извлечь файл при экспорте продукта с помощью eclipse?

спасибо

Ответы [ 3 ]

3 голосов
/ 15 марта 2011

EXE-файлы должны быть выполнены Windows.Для всех практических целей jar-файл - это zip-файл, поэтому вам нужно выяснить, как заставить Windows запускать EXE-файл в ZIP-файле.

Насколько мне известно, такого средства не существует, поэтомуВы должны извлечь EXE-файл во временную папку и запустить его оттуда.

0 голосов
/ 17 марта 2011

Спасибо за ваши ответы.

Я решил, как предложил Константин Комиссарчик, преобразовать продукт из плагинов в основанный на функциях и указав в файле feature.xml «Распаковать ...."для плагина.

Когда я экспортирую продукт, плагин разрывается в папке, и я могу сослаться на нужные мне файлы.

0 голосов
/ 16 марта 2011

Перед выполнением вы можете распаковать файл в папку состояния пакета. что-то вроде этого:

InputStream stream = FileLoactor.openStream(myBundle, new Path("path/to/exe/")
IPath pathUnpacked = myBundle.getStateLocation().append("myExe.exe");
writeToDisk(stream, pathUnpacked);
Program.launch(pathUnpacked.toOSString());

HTH Tom

...