2017-02-24 1 views
0

J'ai quelques projets JBoss, avec des versions dans POM définies à 1.0.0-SNAPSHOT. JBoss est configuré avec la logithèque Nexus comme dépôt distant dans org.ops4j.pax.url.mvn.cfg, comme ceci:Une bonne façon de déployer JBoss Fuse à partir de Nexus?

org.ops4j.pax.url.mvn.repositories= \ 
http://localhost:8888/nexus/content/repositories/snapshots/@[email protected]=nexus.repo 

Dans mes POMs, j'utilise le plugin Maven Nexus pour déployer les artefacts construits à Nexus, avec "mvn clean deploy", comme ceci:

<plugin> 
    <groupId>org.sonatype.plugins</groupId> 
    <artifactId>nexus-staging-maven-plugin</artifactId> 
    <version>1.6.7</version> 
    <extensions>true</extensions> 
    <configuration> 
    <serverId>nexus</serverId> 
    <nexusUrl>http://localhost:8888/nexus/</nexusUrl> 
    </configuration> 
</plugin> 

Le dernier artefact pénètre très bien dans Nexus. Donc, je déploie à fusible avec ceci:

$FUSE_BIN/client "osgi:install -s mvn:my.package/my-service/1.0.0-SNAPSHOT" 
$FUSE_BIN/client "osgi:update my-service mvn:my.package/my-service/1.0.0-SNAPSHOT" 

Cependant, il met à jour le service en utilisant la version en cache de la « localRepository », au lieu de télécharger la dernière. Alors suis-je supposé:

1) Mettre à jour la version dans le POM chaque fois que je l'utilise "mvn déployer"

2) purger le localRepository avant de l'utiliser OSGi: mise à jour

3) quelque chose que je J'ai mal configuré?

Le référentiel local n'est-il pas supposé savoir quand l'artefact mis en cache est différent de Nexus?

Répondre

0

Vous installez un artefact déjà installé (je ne vois aucune désinstallation se déroulant dans votre code) avec la même version. Il est parfaitement légitime de réutiliser l'artefact "local". Si vous souhaitez que JBoss Fuse «recharge» un artefact, vous devez lui dire de le faire.

JBossFuse:[email protected]> dev:watch 372 
Watched URLs/IDs: 
371 
372 

Maintenant, lorsque vous déployez une nouvelle -SNAPSHOT, JBoss fusible recharger.

Référence: https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Console_Reference/files/ConsoleDevWatch.html

+0

qui ne fonctionne pas pour moi, quand je déploie un nouvel instantané de l'artefact Nexus, fusible ne rechargeant. Lorsque j'exécute osgi: install sur le nouvel instantané (non supposé mais qui ne recharge pas), il est installé à côté de la version précédente. Peut-être que rien ne déclenche la mise à jour de localRepository? –