首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Spring Dynamic Modules 2.x在Apache Felix Karaf上运行?

如何让Spring Dynamic Modules 2.x在Apache Felix Karaf上运行?
EN

Stack Overflow用户
提问于 2010-10-13 23:39:01
回答 1查看 3.2K关注 0票数 1

我们开始在一个项目中使用Apache Felix Karaf,并利用了Blueprint Services。

现在,我想使用Spring Dynamic Modules来访问高级DI功能和测试特性。问题是我还不知道如何让Spring DM2.x在Felix上运行。

安装了spring和spring-dm功能:

代码语言:javascript
复制
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服务,我需要Spring DM 2.x (至少根据Spring网站的说法,‘对于Blueprint Service RI,使用2.x+version。’)。

我看到了add features to Apache Felix是可能的,但据我所知,这需要在某个存储库上声明一个features.xml文件。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-20 18:27:47

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

我解决这个问题的方法是添加一个额外的功能集(参见http://karaf.apache.org/manual/2.2.5/users-guide/provisioning.html),方法是定义一个如下所示的功能xml描述符:

代码语言:javascript
复制
<?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 shell像这样加载它

代码语言:javascript
复制
features:addurl /path/to/spring-dm-feature.xml
features:install spring-dm-2

请注意,这是可行的,但带有许多丑陋的堆栈跟踪--我希望在Karaf用户列表/ Spring用户的帮助下,我们能够摆脱这些堆栈跟踪。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3925405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档