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

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

<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, ошибка уходит, но пакеты функций не регистрируются при запуске.файл свойств, поэтому они не будут запускаться.

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


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

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

1 ответ

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

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

    А насчет плагина karaf-maven — кажется, что функциональность startupfeatures нарушена.