maven - Gradle、OSGi 和 OBR(或其他存储库?)

标签 maven gradle osgi obr

以前我一直在使用 Maven 和 maven-bundle-plugin 来存档以下内容:

  • 做的时候mvn install , 本地 maven repo 自动包含我的包 + 我所有的包的 deps
  • 本地存储库通过 mvn bundle:index 成为 OBR 存储库,repository.xml 也会随着每个 mvn install 自动更新.
  • 本地存储库现在可用于 Karaf 包部署

  • 现在,我希望将一些项目迁移到 Gradle,这在很多方面都非常好。我使用“org.dm.bundle”插件成功创建了包(基本的“osgi”插件不允许我自动创建服务组件)。

    通过使用 Gradle 的 maven 插件,我可以做到 gradle install在本地 maven 仓库中安装我自己的包。然后我可以使用 bindex手动(或通过一些 gradle hacking)索引 repo。
    但是,我的依赖项并未放入 maven 存储库中,它们仅存储在 gradle 缓存目录中。因此,我还不能使用 OBR 存储库在 Karaf 中进行部署。

    我一直在环顾四周,试图找到一些好的解决方案,但我什么也没找到。

    我查看了 Karaf 功能文件,它允许我直接指定 mvn URL 而不是依赖 OBR,但我想避免手动弄乱功能文件。

    有使用 Nexus 的引用,但从我所见,只有 Nexus Pro 支持 OBR?

    我也愿意就替代解决方案提出建议;主要目标是我将能够在 Karaf 中部署我的 bundles + deps。 Maven 根本不需要使用,尽管我需要某种方式让不同的 Gradle 项目从其他一些项目(它们不是同一个多项目的一部分)中找到依赖项。

    感谢任何让我走上正轨的想法或讨论!

    最佳答案

    这可能有点晚了,但我只是在寻找一种从 OBR 存储库中使用 gradle 获取的方法时偶然发现了您的问题。

    据我了解,您想将( gradle deploy )推送到某个 Maven 存储库并将其用作 OBR 存储库。这可以通过 Eclipse Package Drone 实现, eclipse/packagedrone .您可以使用 Maven/Gradle deploy 进行部署,并让它生成 P2、OBR 和 OSGi R5 索引存储库。

    关于maven - Gradle、OSGi 和 OBR(或其他存储库?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28698190/

    相关文章:

    java - 源代码中的剂量包名称,应与jar文件名相同

    spring 数据源中的 java.lang.NullPointerException

    android - Gradle 在编译时将文件从资源复制到 Assets

    android - "Program type already present"是什么意思?

    java - 为什么需要在OSGi Security中授予java安全管理器所有权限

    spring - AWS Elastic Beanstalk - 配置我的 nginx 设置以增加 Java Spring maven 应用程序的超时

    java - 我想在运行时在 java 中更改属性名称

    android-studio - 在 Android Studio 模块中使用不同的 gradle 构建工具

    java - osgi - 如何访问 WebSphere Liberty 上特定于我的 EBA 文件的 OSGi 控制台?

    osgi - 查看 osgi 包的依赖关系?