gpt4 book ai didi

java - 关于使用 OSGi 设置 Maven 多模块项目的反馈

转载 作者:行者123 更新时间:2023-11-30 06:55:14 27 4
gpt4 key购买 nike

我正在接触 OSGi 并尝试使用 Apache Felix 和 Maven 设置一个项目。我想使用多模块构建和声明式服务。该项目托管在 GitHub 上:osgi-maven-example (请注意,链接指向特定的提交,而不是存储库的 HEAD。)

我对项目的整体设置有一些疑问:

  • 根据 Neil Bartlett bnd-maven-plugin 应该优先使用 Apache Felix Bnd 插件,因为它尊重 Maven 的生命周期。从 bnd-maven-plugin 的年代来看,这似乎是一种相对较新的方法,因此我不确定这样做是否是个好主意。

  • 我正在使用 Apache Felix 的声明式服务包 (org.apache.felix.scr.annotations) 来定义我的组件。 maven-scr-plugin 使用这些注释来生成服务描述符,这些描述符通过使用 bnd 中的以下行包含在 MANIFEST.MF 中.bnd 文件:服务组件:OSGI-INF/*.xml。这是声明式服务的使用方式吗?

  • IntelliJ 在 GermanGreeter 类中显示警告: intellij-warning
    这到底是什么意思?我需要关心这个吗?我该如何解决?

虽然我对这个工作示例非常满意,但我很好奇我是否以预期的方式使用所有这些技术,如果我能在开始使用它之前获得有关整体设置的一些反馈,我将不胜感激在更大的项目中。

最佳答案

现在在 org.osgi.service.component.annotations 包下有一套官方的 DS 注释。这些注释被打包在 jar “compendium” (org.osgi/cmpn) 中,并且 bnd 有一个指令来生成组件描述符:-dsannotations : *

您的问题的第一部分取决于意见... maven-bundle-plugin 更“以 maven 为中心”:将它集成到 maven 构建中更容易。 bnd-maven-plugin 更“以 bnd 为中心”:你操作标准的 bnd 文件,但它打破了一些 maven 约定。各有利弊

关于java - 关于使用 OSGi 设置 Maven 多模块项目的反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35510440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com