2009-04-09 2 views
1

Фон:Проверка на схему, которая находится внутри плагина

У меня небольшая проблема с Eclipse. Я работаю над плагином workbench, который имеет несколько классов, которые проверяют входящие XML-данные на схему. Схема находится внутри проекта плагина в папке «./schemas».

Вопросы:

  1. При запуске приложения, как я могу прочитать схему без использования жёстко прописанные пути?
  2. Когда приложение будет развернуто, схема должна будет находиться внутри плагина .jar. Будет ли решение из (1) в этом случае другим?

ответ

1

Вы можете использовать класс FileLocator из org.eclipse.core.runtime, чтобы получить URL-адрес ресурса в своем комплекте.

Например, что-то вроде

URL schema = FileLocator.find(myBundle, new Path("/schemas/data.xsd"), null); 

Вы можете получить Bundle объект из BundleContext прошел в свой Активатор (если у вас есть). Или вы можете использовать Platform.getBundle.

Вы не должны предполагать, что URL-адрес является файлом на диске, точно в том случае, когда плагин является банкой. Вы можете использовать URL.openStream для получения содержимого или FileLocator.toFileURL(), чтобы получить файл на диске.

+0

Большое спасибо Andrew. Ваше предложение было на месте! – Daniel

Смежные вопросы