2017-07-06 1 views
0

J'ai une application Karaf avec trois paquets dans un fichier .kar, spécifié par un features.xml. Lorsque je déploie le fichier .kar compilé (à l'aide du plug-in maven) sur la machine virtuelle cible, le paquet principal se charge et se met à jour dans Karaf, mais il semble qu'un paquet dépendant (fonctionnalités ajoutées) ne soit pas extrait et déployé - Karaf essaie d'obtenir le paquet à partir du/system/repository au lieu du .kar.Les paquets Karaf non chargés depuis .kar on deploy

Le déploiement fonctionne sur ma machine de développement, je pense que le paquet dépendant est retiré du dépôt local de Maven qui est à jour en raison du processus de construction.

Actuellement, pour contourner ce problème sur la machine cible, je dois copier mon rapport local dans le dossier [karaf.root]/system/afin que tous les paquets soient mis à jour lorsque le .kar est déployé à chaud.

Est-ce que quelqu'un sait comment configurer les fonctionnalités .xml afin que les paquets soient retirés du fichier .kar au lieu de [initialement] dans le dossier/system? Mon fichier features.xml est;

<features name="${project.artifactId}-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.3.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 http://karaf.apache.org/xmlns/features/v1.3.0"> 

<feature name="${project.artifactId}" install="auto" version="${project.version}" 
    description="${project.description}"> 
    <bundle dependency="true">mvn:com.google.code.gson/gson/${gson.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-common-api/${project.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-core-services/${project.version}</bundle> 
    <bundle>mvn:uk.co.company.product/product-scenario-exporter/${project.version}</bundle> 

<feature prerequisite="true">camel-jetty</feature> 
<feature prerequisite="true">webconsole</feature> 
</feature> 

J'ai vérifié et les faisceaux nécessaires (à savoir-api commun) est inclus dans le dossier de référentiel du fichier kar compilé.

Répondre

0

Vous utilisez simplement une URL mvn pour l'ensemble dont vous avez besoin. Le contenu du kar sera une source pour ces dépendances. Je suppose que vous avez une erreur dans votre kar. Pouvez-vous poster votre fichier kar ici (peut-être réduit à un contenu neutre)?

Quelle est la structure du fichier dans votre kar? Il doit contenir un référentiel de répertoire et l'intérieur doit être sous-répertoire et jars comme dans un dépôt maven. Ce n'est qu'alors que l'urne mvn sera résolue.

+0

Question développée avec features.xml Christian, merci. –