Ресурс не локальный - создание файлов в плагине Eclipse - PullRequest
2 голосов
/ 27 февраля 2012

Итак, я пытаюсь настроить свой плагин Eclipse, чтобы он мог обрабатывать некоторые данные и генерировать некоторые файлы в проекте.Я могу создать IFolder с помощью project.getFolder().create и создать правильные IFile объекты с помощью project.getFile().create().Однако после создания они отображаются в навигаторе проекта, но я получаю много ошибок о том, что ресурсы «не локальны», и они, похоже, не отображаются в моей файловой системе.Что происходит, и что мне нужно изменить?

Вот код для создания папки:

IFolder f = project.getFolder(folderName);
if (!f.exists()) f.create(false, false, null);

И мой код для создания IFile по сути такой же.Плагин только что запущен в моей локальной файловой системе, поэтому я предполагаю, что это что-то в моем коде, создающее ошибку.

Ответы [ 3 ]

1 голос
/ 03 февраля 2014

У меня была такая же проблема, и я до сих пор не понимаю ее, но у меня что-то работает.У меня не было проблем с папками, только с файлами.Сначала я пытался установить содержимое файла при создании файла:

file.create(contents, true, monitor);

Это не сработало, и у меня возникла проблема «Ресурс не локальный».

Путем разделениянастройка контента на отдельный шаг, вдруг все заработало:

file.create(new ByteArrayInputStream(new byte[0]), true, monitor);
file.setContents(content, false, false, monitor);

Надеюсь, это кому-нибудь поможет.

1 голос
/ 23 июля 2012
IFolder f = project.getFolder(folderName);
if (!f.exists()) f.create(false, false, null);

Во втором параметре в методе f.create(...), если установлено значение true, папка будет ЛОКАЛЬНОЙ, и ошибки не будут появляться (по крайней мере, она прекратилась в моем случае). Кроме того, я видел эти ошибки, исходящие от провайдеров команд (таких как git и т. Д.).

0 голосов
/ 01 мая 2016

Проверьте ваш поток ввода.Если он равен null или выдает IOException, f.create все равно будет успешным.Однако файл будет отображаться как не локальный в пользовательском интерфейсе Eclipse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...