IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Eclaircissements sur les snapshots et releases


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Eclaircissements sur les snapshots et releases
    Bonjour,

    Je débute avec Maven, mais j'ai réussi à mettre en place un architecture (Eclipse / Maven / Nexus / Hudson / Sonar) qui semble tenir la route. Seulement je ne comprends pas vraiment les notions de "snapshots" et "releases".

    Je me suis contenté de mettre des "<version>0.1</version>" pour chaque module ou projet, avec les dépendances qui vont bien. Nexus ne sert donc qu'à récupérer les libraires et plugins externes.

    Comment mieux utiliser ces outils ? Peut-on automatiser la création d'un WAR et son déploiement en production ?

    Merci.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Concernant la différence entre snapshot et release : une librairie en snapshot est une librairie en cours de développement, et donc évolue avec le temps.

    Par exemple, si tu as une libriaire en version stable, disons toto:0.1, alors tu auras toujours le même JAR si tu demandes toto en version 0.1. Si toto:0.1 est une dépendance à ton projet, Maven2 va vérifier si elle est présente dans ton repository local, et si c'est le cas, Maven2 va l'utiliser.

    Prenons maintenant toto:0.2-SNAPSHOT. Maven2 va périodiquement vérifier sur les repositories distants la présence d'une version plus récente de la version 0.2-SNAPSHOT, quand bien même tu disposerais d'une version sur ton repository local. Par exemple, si tu as la version du 1er mai (appelons la 0.2-SNAPSHOT01052009), mais que sur ton Nexus une version plus récente existe, 0.2-SNAPSHOT08052009 par exemple, alors Maven2 ira récupérer cette version et l'utilisera à la place de 0.2-SNAPSHOT01052009.

    Tu l'auras compris, ton projet peut tout à fait fonctionner avec toto:0.2-SNAPSHOT01052009 mais avoir des problèmes avec toto:0.2-SNAPSHOT08052009... Il est donc important de ne pas avoir de versions SNAPSHOT quand tu réalises une mise en production (sauf si tu n'as pas le choix).

    Du point de vue du développement, il n'est pas recommandé de définir une version non SNAPSHOT si celle-ci est en cours de développement.
    Sur mes projets, ce que je fais, c'est que mes modules sont en version SNAPSHOT (mettons 1.3-SNAPSHOT). Puis le jour où je veux faire une release en Homologation pour validation, je passe tout en version 1.3 (je taggue/branche également sur mon CVS) et je builde le tout, pour passer la validation. Ainsi, la version 1.3 ne correspondra qu'à un et un seul état de mon code.
    Puis les modules passent ensuite en version 1.4-SNAPSHOT, jusqu'à la fin du développement de cette version.
    Et ainsi de suite...

    J'espère avoir été assez clair !

    Pour l'automatisation de la création de ton WAR, il faut regarder du côté de l'Intégration Continue (Hudson dans ton cas, donc) qui buildera périodiquement les projets.
    Hudson pourra également être mis à contribution pour le déploiement, via le plugin Maven2 Cargo qui se chargera de déployer le WAR sur un serveur Tomcat par exemple.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci, je comprends maintenant bien ces notions. Cependant, comment gérer simplement (et automatiquement) toutes ces archives (JAR/WAR) avec mon environnement (Eclipse / Maven / Nexus / Hudson) ?

Discussions similaires

  1. eclaircissement sur les threads
    Par marocleverness dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 12/07/2009, 10h48
  2. Eclaircissements sur les barres d'outils perso
    Par La Zélie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/06/2008, 21h24
  3. Problème sur les snapshots
    Par ouatmad dans le forum Administration
    Réponses: 1
    Dernier message: 28/05/2008, 09h33
  4. besoins d'eclaircissements sur les dossiers cron.*
    Par rhaamo dans le forum Administration système
    Réponses: 5
    Dernier message: 23/02/2007, 11h38
  5. Eclaircissement sur les clé dans un DWH(fact table)
    Par Melvine dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 12/05/2006, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo