У нас есть плагин, который экспортируется в продукт RCP. В плагине есть папка с несколькими файлами. Как я могу обращаться к подключаемым файлам в определенной папке в Eclipse программно?Как получить доступ к файлам-членам и папкам подключаемого модуля в Eclipse
0
A
ответ
2
Используйте класс org.eclipse.core.runtime.FileLocator
для доступа к файлам в плагине.
Bundle bundle = ... bundle containing the files
IPath path = new Path("relative path in plug-in of the file");
URL url = FileLocator.find(bundle, path, null);
URL fileUrl = FileLocator.toFileURL(url);
The url
возвращаемого метод FileLocator.find
использует конкретную схему Eclipse, и может быть использован только с определенным API-интерфейсами Eclipse.
Звонок FileLocator.toFileURL
преобразует URL в обычный URL-адрес file
, для этого может потребоваться распаковать флэшку для подключения к временному местоположению.
Вы можете получить Bundle
с помощью
Bundle bundle = FrameworkUtil.getBundle(getClass());
который получает пакет, содержащий текущий класс или
Bundle bundle = Platform.getBundle("plugin id");
для доступа к свертку плагин в ид.
Платформа:/плагин Что касается этого решения FileLocator приводит к тому, что файл находится в папке «Файловая система» не в плагине. –
мужчина Это сработало! Я использовал новый файл (fileUrl.toURI()), после чего он стал файлом. –
Как я могу сгенерировать файл из этого. fileUrl.toURI не удалось из-за ошибки eclipse # 145096 Не удалось, когда в имени папки есть пробел. –