Полный пример здесь:

ичок в OSGi и создал OSGi-комплект, который запускаю в Apache Felix OSGi-контейнере. В пакете содержится файловый ресурс, который мне нужно передать методу какjava.io.File, Для создания экземпляра File-объекта необходим либо URI в схеме «file», либо путь в виде строки. Как я могу получить любой из них в чистом виде?

Я пытался использоватьcontext.getBundle().getResource("/myfile") (где контекст имеет типorg.osgi.framework.BundleContext) который возвращает URIbundle://6.0:0/myfile, Но этот URI не может быть преобразован в экземпляр файла с помощьюFile(URI uri) конструктор, так как он имеет "расслоение" -схема.

Можно попытаться построить путь к местоположению, зная рабочий каталог и используя bundleId моего пакета, но я сомневаюсь, что это лучший метод.

Есть идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос