【发布时间】:2015-04-26 05:12:57
【问题描述】:
以前我一直在使用 Maven 和 maven-bundle-plugin 来归档以下内容:
- 在执行
mvn install时,本地 maven 存储库会自动包含我的包 + 我的所有包的依赖项 - 本地 repo 由
mvn bundle:index成为 OBR 存储库,repository.xml 也会随着每个mvn install自动更新。 - 本地存储库现在可用于 Karaf 捆绑部署
现在,我希望将一些项目迁移到 Gradle,这在很多方面都非常好。我正在使用“org.dm.bundle”插件成功创建捆绑包(基本的“osgi”插件不允许我自动创建服务组件)。
通过使用 Gradle 的 maven 插件,我可以通过 gradle install 在本地 maven repo 中安装我自己的包。然后我可以使用 bindex 手动(或通过一些 gradle hacking)索引 repo。
但是,我的依赖项没有放入 maven repo,它们只存储在 gradle 缓存目录中。因此,我还不能使用 OBR 存储库在 Karaf 中进行部署。
我一直在四处寻找一些好的解决方案,但我没有找到任何东西。
我查看了 Karaf 功能文件,它允许我直接指定 mvn URL,而不是依赖 OBR,但我想避免手动弄乱功能文件。
有使用 Nexus 的参考,但据我所知只有 Nexus Pro 支持 OBR?
我也愿意就替代解决方案提出建议;主要目标是我将能够在 Karaf 中部署我的 bundles + deps。真的不必使用 Maven,尽管我需要一些方法让不同的 Gradle 项目从其他一些项目(它们不属于同一个多项目)中找到依赖关系。
感谢任何能让我走上正轨的想法或讨论!
【问题讨论】:
-
当您执行
gradle install时,是否按预期生成了 pom,并且 jar 是否正确复制到您的~/.m2? -
完全不记得了。不再使用这个,所以不会再继续下去了。
-
您是否正在寻找将所有依赖项放在特定文件夹中的方法?