Поскольку файл внутри вашего пакета, вы не сможете получить к нему доступ, используя стандартный File
.URL
, получаемый из Bundle.getResource()
, является правильным способом доступа к этим ресурсам, поскольку API OSGi предназначены также для работы в системах без реальной файловой системы.Я бы всегда старался придерживаться OSGi API вместо использования решений, специфичных для фреймворка.
Так что, если у вас есть контроль над методом, я бы обновил его до URL
, или, возможно, даже InputStream
(так как вы, вероятно, просто хотите читать с него).Для удобства вы всегда можете предоставить вспомогательный метод, который принимает File
.
Если у вас нет контроля над методом, вам придется написать некоторый вспомогательный метод, которыйпринимает URL
, передает его в файл (например, File.createTempFile()
, вероятно, добьется цели.