StartupFeatures с плагином karaf-maven-plugin

Я пытаюсь создать свой собственный дистрибутив karaf, прямо сейчас я могу собрать свои функции без каких-либо проблем, но я не могу зарегистрировать их в startup.properties, используя рекомендуемые ярлык.

<startupFeature>foo</startupFeature> This will result in the feature bundles
being listed in startup.properties at the appropriate start level and the bundles
being copied into the "system" internal repository. You can use feature_name
or feature_name/feature_version formats.

Когда я использую тег, я получаю следующую ошибку:

[ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.5:assembly (default-cli) on project winthor-karaf: Unable to build assembly: Unable to resolve root: missing requirement [root] osgi.identity; osgi.ide
ntity=winthor-core-servico; type=karaf.feature; filter:="(&(osgi.identity=winthor-core-servico)(type=karaf.feature))" -> [Help 1]

И если я использую тег installedFeatures перед тегом startUpFeatures, ошибка исчезнет, ​​но пакеты функций не будут зарегистрированы в startup.properties. файл, поэтому они не запускаются.

Что я делаю не так?


Вот соответствующая часть моего помпона:

  <dependencies>
    <dependency>
      <groupId>org.apache.karaf.features</groupId>
      <artifactId>framework</artifactId>
      <version>4.0.5</version>
      <type>kar</type>
    </dependency>
    <dependency>
      <groupId>org.apache.karaf.features</groupId>
      <artifactId>standard</artifactId>
      <classifier>features</classifier>
      <version>4.0.5</version>
      <scope>runtime</scope>
      <type>xml</type>
    </dependency>
    <dependency>
      <groupId>org.apache.karaf.features</groupId>
      <artifactId>spring</artifactId>
      <classifier>features</classifier>
      <type>xml</type>
      <version>4.0.5</version>
      <scope>runtime</scope>
    </dependency>


    <dependency>
      <groupId>br.com.pcsist.winthor.core</groupId>
      <artifactId>winthor-core-features</artifactId>
      <version>1.0.0</version>
      <scope>runtime</scope>
      <classifier>features</classifier>
      <type>xml</type>
    </dependency>
    <dependency>
      <groupId>br.com.pcsist.winthor.core</groupId>
      <artifactId>winthor-autenticacao-features</artifactId>
      <version>1.0.0</version>
      <scope>runtime</scope>
      <classifier>features</classifier>
      <type>xml</type>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.karaf.tooling</groupId>
        <artifactId>karaf-maven-plugin</artifactId>
        <version>4.0.5</version>
        <extensions>true</extensions>
        <configuration>
          <bootFeatures>
            <bootFeature>instance</bootFeature>
            <bootFeature>package</bootFeature>
            <bootFeature>log</bootFeature>
            <bootFeature>ssh</bootFeature>
            <bootFeature>aries-blueprint</bootFeature>
            <bootFeature>framework</bootFeature>
            <bootFeature>system</bootFeature>
            <bootFeature>feature</bootFeature>
            <bootFeature>shell</bootFeature>
            <bootFeature>management</bootFeature>
            <bootFeature>service</bootFeature>
            <bootFeature>jaas</bootFeature>
            <bootFeature>shell-compat</bootFeature>
            <bootFeature>deployer</bootFeature>
            <bootFeature>diagnostic</bootFeature>
            <bootFeature>wrap</bootFeature>
            <bootFeature>bundle</bootFeature>
            <bootFeature>config</bootFeature>
            <bootFeature>kar</bootFeature>
          </bootFeatures>
          <startupFeatures>
            <startupFeature>winthor-core-data</startupFeatur>
            <startupFeature>winthor-core-servico</startupFeature>
            <feature>winthor-autenticacao</feature>
          </startupFeatures>
        </configuration>
      </plugin>
    </plugins>
  </build>

person Cλstor    schedule 04.11.2016    source источник
comment
У меня была аналогичная проблема с кастомными дистрибутивами. Попробуйте удалить среду выполнения из описаний функций ... Похоже, это противоречит тому, что написано в документации здесь (svn.apache.org/repos/asf/karaf/site/production/manual/), но для меня это работал!   -  person Jorge Martinez    schedule 07.11.2016
comment
Удаление области времени выполнения изменит зависимости для области компиляции, и при этом кажется, что плагин не может разрешить некоторые временные зависимости, я попытался вручную добавить зависимости, но безуспешно. например: ... Невозможно разрешить org.springframework.osgi.web / 1.2.1: отсутствует требование ...   -  person Cλstor    schedule 07.11.2016


Ответы (1)


Мы решили нашу проблему, используя другой подход. Мы обнаружили, что пакеты startup.properties запускают до bootFeatures, что не было ясно в документации, поэтому мы создали simple kar с нашими основными функциями и ссылается на него как на область компиляции пользовательского дистрибутива karaf.

Остальные функции были зарегистрированы как функции загрузки с ограничением времени выполнения, и это работало как шарм.

Что касается плагина karaf-maven-plugin, похоже, что функция автозагрузки не работает.

person Cλstor    schedule 09.11.2016