【问题标题】:"Unable to resolve root:" for uninstalled feature in karaf“无法解析根:”用于 karaf 中的已卸载功能
【发布时间】:2018-02-09 17:18:31
【问题描述】:

我正在使用 karaf 服务器来部署和安装功能。我已经安装了一项功能“测试功能”,然后我将其从存储库中删除。在激活其他一些功能时,它给了我例外 -

org.osgi.service.resolver.ResolutionException:无法解析根: 缺少需求 [root] osgi.identity; osgi.identity=测试功能;类型=karaf.feature; 版本="[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]"; filter:="(&(osgi.identity=test-feature)(type=karaf.feature)(version>=1.0.0.SNAPSHOT)(version

我检查了 karaf 服务器的所有文件夹,所以没有与测试功能相关的数据。 那么有没有办法清理特定功能相关的缓存或数据? TIA

【问题讨论】:

    标签: apache-karaf


    【解决方案1】:

    您必须先删除 karaf 中的功能 test-feature,然后才能从功能 xml 中删除它。错误消息告诉您 karaf 期望此功能存在,因为您之前已经安装了它。

    基本上,karaf 保留了一个根需求列表,用于在最后创建所需的整套捆绑包。如果你做 feature:install 那么你告诉 karaf 将一个特性添加到这个根需求列表中。当您安装或卸载任何功能时,Karaf 总是尝试解决所有这些根要求。

    【讨论】:

    • 谢谢。问题现在已解决,实际上在 karaf 的缓存文件夹中,其中一个 bundle 引用了 test-feature。我已经更新了它的 state.json 并删除了“test-feature”依赖。在从存储库中删除该包/功能时,有什么方法可以删除特定于包的缓存?
    • 这为我解决了大海捞针!我的 karaf pom 中有一个变量,当我升级版本时导致崩溃
    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    相关资源
    最近更新 更多