【问题标题】:How to Use New OSGi Declarative Services Annotations?如何使用新的 OSGi 声明式服务注解?
【发布时间】:2012-03-04 17:47:57
【问题描述】:

【问题讨论】:

    标签: java dependency-injection osgi declarative-services


    【解决方案1】:

    bnd 和 Bndtools 支持注解。它们用于在构建时生成组件 XML 声明。

    更新:是的,除了旧的注释集之外,bnd 确实支持新的标准注释。及时(即在标准实际发布之后!),旧的注释将被弃用并逐步淘汰。

    【讨论】:

    • 感谢bnd的提醒。 bnd 注释与 RFC 不同:有些具有更多属性,有些缺少“标准”属性。我问过彼得这个问题;响应有点“低优先级/已经足够好”。所以必须自己做:-)
    • 感谢 bndtools 的提醒。正如我所见,有 3 种 osgi 疯狂构建:pom.xml-first; plugin.xml-first,bnd.bnd-first;我必须使用 maven pom.xml,才能充分利用 jenkins。我可以容忍 eclipse plugin.xml(感谢 tycho)。但是我看不到如何使用 bndtools 呢?
    • 是的,bnd 仍然有它的旧注解,但它也支持新的标准注解。它至少已经做了几个月。你什么时候问过彼得的?
    • plugin.xml 只是捆绑的资源。我们可以用bnd和Bndtools来构建包含plugin.xml的Eclipse插件……其实我是用Bndtools来开发Bndtools的。我们还可以通过 bnd 作为离线构建器充分利用 Jenkins(即无需使用 Maven)。
    • re:“支持新的标准注释”我只能看到源中支持的旧版本;可以放个链接吗?
    【解决方案2】:

    这个post的作者有这个project,还有这个https://github.com/javakontor/OSGi-Service-Component-Annotation-Processor。

    回问FELIX-3170 或FELIX-3171 会更好吗?由于(AFAIK)它仍然是一个草案,因此完全合规的实现将是稀缺的。

    【讨论】:

    • 嘿,我只是想宣传我自己的项目!但谢谢你的链接;竞争对企业有利:-)
    【解决方案3】:

    使用新注释的一种方法是:

    CarrotGarden SCR

    CarrotGarden SCR 是一个插件组合,根据 RFC 0172 提供 OSGI 服务组件描述符生成器。它允许在 eclipse 中进行交互式组件描述符更新,这将与您的非交互式 jenkins 兼容Maven 构建。每个组件的快速、增量、单个描述符。您可以在 eclipse maven 控制台中查看您的描述符是如何构建的。

    【讨论】:

    • 致earcam,致neil-bartlett:你们俩都非常友好地在这里回复;我能再请求一个帮助吗:你们俩都有足够的“特权”来create tags这里;您能帮我创建一个吗:carrot-garden:我想将它用于堆栈溢出时的用户支持邮件列表,就像netty 一样;谢谢。
    猜你喜欢
    • 2013-10-09
    • 2012-04-27
    • 2021-10-05
    • 1970-01-01
    • 2018-05-20
    • 2021-06-13
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多