Предохранитель функция управления репо - PullRequest
0 голосов
/ 09 июня 2019

Fuse 7 репозитории функций.Раньше это работало.

features:addurl mvn:org.kie/kie-karaf-features/7.11.0.Final/xml/features
features:install kie

Но теперь я получаю:

Ошибка при выполнении команды: невозможно разрешить корень: отсутствует требование [root] osgi.identity;osgi.identity = оболочки;тип = karaf.feature;версия = "[4.2.0.fuse-000237-RedHat-1,4.2.0.fuse-000237-RedHat-1]";Фильтр: = "(& (osgi.identity = оболочка) (тип = 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]] </p>

Это постоянная проблема, и наилучшее предположение должно сделатьс org.apache.karaf.features.repos.cfg , который является единственным местом с RELEASE в URL .:
Предохранитель не работает после перезапуска
RedhatОбновлен список репозиториев в Fuse?

Я предполагаю, что этот класс jansi jline является частью классов оболочки, являющихся частью «стандарта», и мой Fuse не понимает, какой «стандарт» использовать.

Я говорю это, потому что функции: список |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.

Таким образом, он говорит, что 4.2.0 запущен, но 4.2.5 либо загружен, либо принимаетприоритет, согласно info .

Я не знаю, откуда исходит 4.2.5 и как от него избавиться.Предположительно, он самый последний, который был загружен при перезапуске Fuse, и теперь он кешируется.

функция: 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

Я добавил второе,потому что это версия, которую использует наш рабочий предохранитель.

Вот результат этой команды на работающем предохранителе:

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-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.

Это просто показывает противоречивую информацию о том, что оболочка 4.2.0.fuse-000237-redhat-1 это ' Started ', но на самом деле 4.2.5 оболочка - это то, что действительно загружено.

Есть идеи?

...