我正在打包一个应用程序,以便通过.kar文件部署到Karaf中。我注意到,即使在我从deploy文件夹中删除了.kar文件之后,仍然安装了许多依赖的特性(在我的示例中来自activemq和camel )。
这是预期的行为吗?我曾预计部署是完全可逆的。
我的功能文件看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
<repository>mvn:org.apache.camel.karaf/apache-camel/2.10.2/xml/features</repository>
<repository>mvn:org.apache.activemq/activemq-karaf/5.7.0/xml/features</repository>
<repository>mvn:io.hawt/hawtio-karaf/1.0/xml/features</repository>
<feature name="jellyfish-messaging" version="0.0.2-SNAPSHOT">
<!-- core components -->
<feature version="2.2.8">war</feature>
<feature version="2.6.3">cxf</feature>
<feature version="2.10.2">camel-cxf</feature>
<feature version="2.10.2">camel-blueprint</feature>
<feature version="2.10.2">camel-jetty</feature>
<feature version="2.10.2">camel-twitter</feature>
<feature version="2.10.2">camel-mail</feature>
<feature version="5.7.0">activemq-blueprint</feature>
<feature version="5.7.0">activemq-spring</feature>
<feature version="5.7.0">activemq-web-console</feature>
<feature version="5.7.0">activemq-camel</feature>
<!-- jellyfish messaging-specific -->
<bundle dependency="true">mvn:org.jellyfish/jellyfish-messaging-broker/0.0.2-SNAPSHOT</bundle>
...etc etc etc删除.kar文件后,剩下的代码如下:-
karaf@root>features:list | grep activemq
[uninstalled] [5.4.2 ] activemq cxf-2.6.3
[installed ] [5.7.0 ] activemq activemq-5.7.0
[installed ] [5.7.0 ] activemq-spring activemq-5.7.0
[installed ] [5.7.0 ] activemq-blueprint activemq-5.7.0
[uninstalled] [5.7.0 ] activemq-optional activemq-5.7.0
[installed ] [5.7.0 ] activemq-camel activemq-5.7.0
[installed ] [5.7.0 ] activemq-web-console activemq-5.7.0
[uninstalled] [5.7.0 ] activemq-extra activemq-5.7.0 谢谢,
J.
发布于 2013-07-02 03:23:52
是的,这是意料之中的行为。kar文件部署是在一个工件中提供功能和捆绑包的一种简单方法,尽管即使在卸载kar捆绑包之后,功能描述符仍然存在。同样的事情也适用于安装特性,现在还不支持卸载可传递特性。这方面的工作在最新版本3.0.0中完成
https://stackoverflow.com/questions/17403089
复制相似问题