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

时间:2015-09-29 14:54:14

标签: maven karaf

我是由karaf(4.0.1)的第一个项目创建的。到目前为止,我已经得到以下信息:

  • 使用maven-bundle-plugin构建的应用程序包。会有更多......
  • 使用karaf-maven-plugin创建的karaf功能。
  • 使用相同插件创建的karaf-assembly

所以我准备好交付给客户 - 但我一直坚持开发过程。除了一个问题,This question回答了几乎所有剩余的问题:

通过运行maven install构建我的项目后,我认为我应该能够使用类似命令feature:install的方式在本地karaf实例上运行我的功能。

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

bundle:install对我的本地maven存储库起作用而feature:install没有效果时,真的无法弄清楚。

3 个答案:

答案 0 :(得分:7)

找到了解决方案here。我知道我需要var i:int = containerMC.numChildren; while(i--){ if(containerMC.getChildAt(i) is MovieClip){ setupFilter(containerMC.getChildAt(i) as MovieClip); } } function setupFilter(mc:MovieClip):void { mc.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); mc.addEventListener(MouseEvent.MOUSE_OUT,mouseOut); } function mouseOver(e:MouseEvent):void { //the event's 'currentTarget' property is the item you added the listener to MovieClip(e.currentTarget).filters = [...your filter...] } function mouseOut(e:MouseEvent):void { MovieClip(e.currentTarget).filters = []; } - 但是这个命令的名字和official documentation让我想到了完全错误的方向。

此命令不会添加(maven)存储库,但会在maven存储库链中添加功能的位置(因此我认为旧名称feature:repo-add是可能更容易理解。)

无论如何 - 使用addUrl有效。

答案 1 :(得分:2)

我刚刚遇到了类似的问题,我在这里找到了解决方案: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

答案 2 :(得分:0)

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

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

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