如何从本地 Maven 存储库部署 karaf 功能?

How to deploy a karaf feature from a local maven repository?

我已经为 karaf (4.0.1) 创建了第一个项目。到目前为止,我有以下内容:

所以我已准备好交付给客户 - 但我在开发过程中遇到了困难。 This question 几乎回答了我剩下的所有问题,除了一个:

通过 运行 maven install 构建我的项目后,我想我应该能够使用命令 [=13] 在本地 karaf 实例上获得我的功能 运行 =].

我可以使用 bundle:install 从本地 maven 安装我的应用程序包,但随后我不得不自己管理依赖项。

真的搞不懂 bundle:install 对我的本地 maven 存储库起作用而 feature:install 不对。

找到解决方案 here. I knew I'd need feature:repo-add - but the name of this command and the official documentation 让我的思考方向完全错误。

此命令不添加 (maven) 存储库,但在 maven 存储库链中添加功能的位置(所以我认为旧名称 addUrl 可能更容易理解)。

无论如何 - 使用 feature:repo-add mvn:<groupId>/<artifactId>/<version>/xml/features 有效。

我刚刚遇到了类似的问题,我在这里找到了解决方案:http://karaf.922171.n3.nabble.com/Add-additional-local-maven-repository-how-td4028299.html

我已编辑 etc/org.ops4j.pax.url.mvn.cfg 并取消注释选项 org.ops4j.pax.url.mvn.localRepository,将其设置为我的本地存储库位置:

org.ops4j.pax.url.mvn.localRepository=C:/data/maven-repo

在安装功能之前,您必须使用 feature:repo-add

注册提供该功能的功能存储库

使用feature:repo-add mvn:<groupId>/<artifactId>/<version>/xml