apache-karaf - "Unable to resolve root:"用于 karaf 中的已卸载功能

标签 apache-karaf

我正在使用 karaf 服务器来部署和安装功能。我安装了一个功能“测试功能”,然后我从存储库中删除了它。在激活其他一些功能时,它给了我一个异常(exception)——

org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=test-feature; type=karaf.feature; version="[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]"; filter:="(&(osgi.identity=test-feature)(type=karaf.feature)(version>=1.0.0.SNAPSHOT)(version<=1.0.0.SNAPSHOT))"



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

最佳答案

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

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

关于apache-karaf - "Unable to resolve root:"用于 karaf 中的已卸载功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48710992/

相关文章:

maven - 覆盖 Maven-Bundle-Plugin 中的 Require-Capability

maven - 如何使用maven项目轻松部署到Karaf Osgi容器

java - Eclipse 之外的 OSGi bundle

java - 使用 Karaf 的 features-maven-plugin maven 插件需要帮助... osgi

java - 如何在 Karaf 4 中部署 Osgi Compendium 服务?

docker - 无法进入 Apache Karaf docker 容器

maven - Karaf 没有启动

Apache Karaf 2.3.0 中的 javax.servlet.http 包

architecture - Apache Karaf 和 A​​pache Commons bundle

java - 在 CXF 中使用 rpc/encoded 样式的方法