我最近编写了一种小型专业脚本语言,并使用 Maven 导出了一个兼容 OSGi 的包,该包还将服务描述符导出到“ META-INF/services/javax.script.ScriptEngineFactory
”服务注册表文件中。
问题在于,尽管 OSGi 导入和导出包都很好,但服务注册表似乎与 OSGi 不兼容(因为 OSGi 将其捆绑包远离通用类路径并为模块使用单独的类加载器)。
我的问题是,我认为 OSGi 与服务发现机制不兼容是否正确,如果不是,我可以添加什么到我的包元数据中,以便ScriptEngineManager.getEngineFactories()
在 OSGi 环境中列出我的脚本引擎?