融合7个功能库。这曾经有用。
features:addurl mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features
features:install kie
但是现在我得到了:
执行命令时出错:无法解析根:缺少要求 [root] osgi.identity; osgi.identity = shell;类型= karaf.feature; 版本=“ [4.2.0.fuse-000237-redhat-1,4.2.0.fuse-000237-redhat-1]”; 过滤器:=“(&(osgi.identity = shell)(类型= karaf.feature)(版本> = 4.2.0.fuse-000237-redhat-1)(版本<= 4.2.0.fuse-000237-redhat- 1))” [由于:无法解析shell / 4.2.0.fuse-000237-redhat-1: 缺少要求[shell / 4.2.0.fuse-000237-redhat-1] osgi.identity; osgi.identity = org.jline.terminal-jansi;类型= osgi.fragment; 版本=“ [3.6.2,3.6.2]”;分辨率:=强制性[原因:片段 未选择附件:org.jline.terminal-jansi / 3.6.2]]
这是一个持续存在的问题,最好的猜测与 org.apache.karaf.features.repos.cfg 有关,这是URL中唯一带有RELEASE的地方。:
Fuse dead after restart
Redhat Fuse updated features repo list?
我的推测是,这个jansi jline类是shell类的一部分,而shell类是'standard'的一部分,而我的Fuse困惑于使用哪个'standard'。
我之所以这样说是因为 features:list | grep shell 显示:
shell ? 4.2.5 ? ? Uninstalled ? standard-4.2.5 ? Karaf Shell
shell-compat ? 4.2.5 ? ? Uninstalled ? standard-4.2.5 ? Karaf Shell Compatibility
shell ? 4.2.0.fuse-000237-redhat-1 ? x ? Started ? standard-4.2.0.fuse-000237-redhat-1 ? Karaf Shell
shell-compat ? 4.2.0.fuse-000237-redhat-1 ? ? Uninstalled ? standard-4.2.0.fuse-000237-redhat-1 ? Karaf Shell Compatibility
但是
admin@root()> features:info shell
Feature shell 4.2.5
Description:
Karaf Shell
Feature configuration:
org.apache.karaf.command.acl.shell
org.apache.karaf.command.acl.scope_bundle
org.apache.karaf.shell
Feature has no configuration files
Feature depends on:
jaas-boot 0.0.0
jline 0.0.0
Feature contains followed bundles:
mvn:org.apache.karaf.shell/org.apache.karaf.shell.core/4.2.5 start-level=30
mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/4.2.5 start-level=30
Feature has no conditionals.
因此,根据 info ,它说4.2.0已启动,但4.2.5要么是已加载的,要么是优先的。
我不知道4.2.5来自何处,以及如何摆脱它。大概是最新版本,当我重新启动Fuse时加载了它,现在已经缓存了。
feature:repo-list显示两个存储库:
mvn:org.apache.karaf.features/standard/4.2.5/xml/features
mvn:org.apache.karaf.features/standard/4.2.0.fuse-000237-redhat-1/xml/features
我添加了第二个,因为那是我们正常工作的Fuse使用的版本。
以下是该命令在有效保险丝上的结果:
admin@root()> features:info shell
Feature shell 4.2.0.fuse-000237-redhat-1
Description:
Karaf Shell
Feature configuration:
org.apache.karaf.command.acl.shell
org.apache.karaf.command.acl.scope_bundle
org.apache.karaf.shell
org.apache.karaf.command.acl.patch
org.apache.karaf.command.acl.dev
org.apache.karaf.command.acl.http
org.apache.karaf.command.acl.jndi
org.apache.karaf.command.acl.obr
org.apache.karaf.command.acl.web
org.apache.karaf.command.acl.wrapper
org.apache.karaf.command.acl.cxf
org.apache.karaf.command.acl.camel
Feature has no configuration files
Feature depends on:
jaas-boot 0.0.0
jline 0.0.0
Feature contains followed bundles:
mvn:org.fusesource.jansi/jansi/1.17 start-level=30
mvn:org.jline/jline-terminal-jansi/3.6.2 start-level=30
mvn:org.jline/jline-terminal/3.6.2 start-level=30
mvn:org.jline/jline-builtins/3.6.2 start-level=30
mvn:org.apache.karaf.shell/org.apache.karaf.shell.aesh-jline/4.2.0.fuse-000237-redhat-1 start-level=30
mvn:org.apache.karaf.shell/org.apache.karaf.shell.core/4.2.0.fuse-000237-redhat-1 start-level=30
mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/4.2.0.fuse-000237-redhat-1 start-level=30
Feature has no conditionals.
查看其效果 mvn:org.jline / jline-terminal-jansi / 3.6.2 start-level = 30
第一个存储库现在出现,并且已加载。我不能摆脱它。可能部分原因是如果我将其杀死,它会将我踢出外壳,并且无法重新进入。4.2.5存储库在JVM崩溃后出现,大概是因为它加载了新版本((尽管我不明白)这种机制,因为org.apache.karaf.features.repos.cfg在任何情况下都没有“标准” URL。)
不会弄乱org.apache.karaf.features.repos.cfg,不会弄乱 repo-remove -u 或 repo-add -i 或 repo-refresh 或 repo-list -r 在尝试加载并使用4.2.0 Shell时会有所不同。
它只显示了矛盾的信息,即 4.2.0.fuse-000237-redhat-1 外壳是' Started ',但实际上是 4.2.5 shell是真正加载的东西。
有什么想法吗?