Como acesso um arquivo dentro de um pacote OSGi?
Sou novo no OSGi e criei um pacote OSGi que eu executo no contêiner Apache Felix OSGi. Há um recurso de arquivo contido no pacote, que eu preciso passar para um método comojava.io.File
. Para instanciar um objeto File, é necessário um URI no esquema "file" ou o caminho como string. Como recupero esses itens de maneira limpa?
Eu tentei usar ocontext.getBundle().getResource("/myfile")
(onde o contexto é do tipoorg.osgi.framework.BundleContext
) que retorna o URIbundle://6.0:0/myfile
. Mas esse URI não pode ser convertido em uma instância de arquivo usando oFile(URI uri)
construtor, pois possui o esquema "bundle"
@One poderia tentar construir um caminho para o local, conhecendo o diretório de trabalho e explorando o bundleId do meu bundle, mas duvido que essa seja a melhor prátic
Alguma ideia