2016-11-04 1 views
0

J'essaye de créer ma propre distribution de karaf, maintenant je peux assembler mes caractéristiques sans aucun problème, mais je ne peux pas les enregistrer au démarrage . propriétés en utilisant l'étiquette recommandée.StartupFeatures avec karaf-maven-plugin

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

Quand j'utilise la balise je reçois l'erreur suivante:

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

Et si j'utilise les installedFeatures tag avant les startUpFeatures tag, l'erreur disparaît, mais les caractéristiques des faisceaux ne sont pas enregistrés au fichier startup.properties, afin qu'ils ne démarrent pas.

Qu'est-ce que je fais mal?


Voici la partie pertinente de mon pom:

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

J'ai eu un problème similaire avec les distributions personnalisées. S'il vous plaît essayer de supprimer le runtime de la portée des fonctionnalités de fonctionnalités ... Il semble que cela va à l'encontre de ce qu'il dit dans les documents ici (https://svn.apache.org/repos/asf/karaf/site/production/manual/latest -3.0.x/custom-distribution.html) mais pour moi ça a marché! –

+0

Suppression de la portée d'exécution va changer les dépendances pour compiler la portée, et avec cela il semble que le plugin ne peut pas résoudre certaines dépendances transitoires, j'ai essayé d'ajouter manuellement les dépendances, sans succès. par exemple: ... Impossible de résoudre org.springframework.osgi.web/1.2.1: exigence manquante ... –

Répondre

0

Nous avons résolu notre problème en utilisant une approche différente, nous avons découvert que les startup.properties faisceaux fonctionnent avant les bootFeatures, ce n'était pas clair dans la documentation, nous avons donc créé un simple kar avec nos fonctionnalités de base et nous l'avons référé comme une portée de compilation à la distribution karaf personnalisée.

Les fonctionnalités restantes ont été enregistrées en tant que fonctionnalités de démarrage à l'exécution et fonctionnaient comme un charme.

Et à propos du karaf-maven-plugin, il semble que la fonctionnalité startupfeatures est cassée.