保险丝功能回购管理

时间:2019-06-08 23:43:49

标签: apache-karaf jbossfuse kie jline

融合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是真正加载的东西。

有什么想法吗?

0 个答案:

没有答案