需要添加一个容器到Bndtools



我正在使用Bndtools做一些开发。Bndtools为Apache Felix和(显然)Equinox提供了开箱即用的OSGi运行时。

但是,假设您想要开发bundle并在Knopflerfish中的Bndtools中测试它们?或者某些公司的专有容器(是的,它们确实存在,令人惊讶!)?Bndtools使得在开发环境中添加单个包变得很容易,但是似乎没有任何明显的方法来添加一个完整的运行时来进行测试。

是否有人可以添加替代OSGi运行时环境到Bndtools?

只需获取框架JAR并将其拖放到其中一个存储库中,例如本地存储库。然后它将出现在运行编辑器的OSGi Framework下拉列表中。

注意,您可能必须关闭并重新打开编辑器才能刷新下拉菜单内容。

bind (tools)中的想法是在bndrun文件中定义您的运行时。您可以创建任意数量的bndrun文件。bndrun文件包含环境的设置(框架、系统包、属性等)和包的列表。框架和包来自存储库。正如Neil所指出的,您可以通过将它们添加到存储库中来添加不同的框架。

您可以在bndrun文件中包含-include文件,以便在不同的bndrun文件之间共享变量。然后最好使用解析器来创建-runbundles列表。

在OSGi enRoute中,我们以这种方式为实际应用程序和调试环境创建不同的运行时。查看OSGi enRoute cm示例,查看debug.bndrunosgi.enroute.exampes.cm.bndrun文件。注意,debug.bndrun文件包含osgi.enroute.exampes.cm.bndrun文件,因此任何设置都会自动继承。还要注意合并属性的使用,它允许您添加属性,而不会破坏包含的文件。

相关内容

  • 没有找到相关文章

最新更新