我有一个OSGi包含持久性服务(使用hibernate)的包和一个包含配置(xml 文件)的片段。在捆绑包的激活器中,我正在使用以下方式加载配置:
@Override
public void start(BundleContext ctx) {
   URL url = ctx.getBundle().getResource("hibernate.cfg.xml");
   SessionFactory sessionFactory = new AnnotationConfiguration().configure(url).buildSessionFactory();
}
但有时,它URL是空的。当我尝试列出所有可用URL的(使用findEntries方法)时,似乎捆绑包自己的总是可用的,但片段的只是有时。我使用的是Felix4.0.2,bundle 和 fragment 是从同一个Felix. 自动启动级别。