Проверка по схеме, которая живет внутри плагина - PullRequest
1 голос
/ 09 апреля 2009

Фон:

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

Вопросы:

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

1 Ответ

1 голос
/ 09 апреля 2009

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

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

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

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

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

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