Osgi 如何让SpringDynamicModules 2.x在ApacheFelixKaraf上工作?

Osgi 如何让SpringDynamicModules 2.x在ApacheFelixKaraf上工作?,osgi,springsource-dm-server,apache-karaf,apache-felix,Osgi,Springsource Dm Server,Apache Karaf,Apache Felix,我们开始在一个项目中使用ApacheFelixKaraf,并利用Blueprint服务 现在,我想使用Spring动态模块来访问高级DI功能和测试特性。问题是我还没有弄清楚如何让SpringDM2.x在Felix上运行 安装了spring和spring dm功能: karaf@root> features:list State Version Name Repository [installed ] [2.5.6.SEC01] spring

我们开始在一个项目中使用ApacheFelixKaraf,并利用Blueprint服务

现在,我想使用Spring动态模块来访问高级DI功能和测试特性。问题是我还没有弄清楚如何让SpringDM2.x在Felix上运行

安装了spring和spring dm功能:

karaf@root> features:list
State         Version       Name       Repository
[installed  ] [2.5.6.SEC01] spring     karaf-1.6.0
[installed  ] [1.2.0      ] spring-dm  karaf-1.6.0
[uninstalled] [1.6.0      ] wrapper    karaf-1.6.0
[uninstalled] [1.6.0      ] obr        karaf-1.6.0
[installed  ] [1.6.0      ] http       karaf-1.6.0
[uninstalled] [1.6.0      ] war        karaf-1.6.0
[uninstalled] [1.6.0      ] webconsole karaf-1.6.0
[installed  ] [1.6.0      ] ssh        karaf-1.6.0
[installed  ] [1.6.0      ] management karaf-1.6.0
但是为了使用Blueprint服务,我需要SpringDM2.x(至少根据Spring网站的说法,“对于Blueprint服务RI,使用2.x+版本”)

我知道可以,但据我所知,这需要在某个存储库中声明features.xml文件


我的问题是,是否有一种更简单的方法,也就是更集成的方法(通过Maven)

好的,经过一些调查,我已经设法让捆绑包在Karaf上与Spring DM 2.0.0.M1一起工作

我解决这个问题的方法是通过定义一个功能xml描述符来添加一个额外的功能集(请参见):

<?xml version="1.0" encoding="UTF-8"?>
  <features name="spring-features">
    <feature name="spring-dm-2" version="2.0.0.M1">
        <feature version="3.0.3.RELEASE">spring</feature>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.1_3_6</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-io/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-core/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-extender/2.0.0.M1</bundle>
        <bundle>mvn:org.springframework.osgi/spring-osgi-annotation/2.0.0.M1</bundle>
        <bundle>mvn:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/2.1.0</bundle>
    </feature>
  </features>

请注意,这是可行的,但会带来一些丑陋的堆叠痕迹——我希望在Karaf用户列表/Spring用户的帮助下,我们能够摆脱这些痕迹。

您答案中的链接已断开。请将其拆下或更换为可用的。
features:addurl /path/to/spring-dm-feature.xml
features:install spring-dm-2