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 :

Question sur gestion/conflit des dépendances


Sujet :

Maven Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Question sur gestion/conflit des dépendances
    Bonjour à tous,

    je n'arrive pas à trouver une réponse à la question suivante :

    Si mon projet A dépend du projet P version 1.0, mais aussi du projet P' qui dépend du projet P version 2.0 (dépendance transitive), est-ce que cela n'engendre pas des conflits ou incohérences ?

    Merci beaucoup pour vos réponses en tout cas

    Bien cordialement,
    Cédric

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    dans ce cas, si tous tes projets P, P' et A sont mavenisés, alors tu n'as qu'à ajouter la dépendance P' dans ton pom.xml, et ensuite maven téléchargera automatiquement la version 2.0 de la lib "P".

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    En espérant que la 2.0 assure la compatibilité avec l'utilisation type 1.0

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    merci pour vos réponses.

    si elles ne sont pas compatibles, quels problèmes peuvent apparaître et à quel moment ? (compile? runtime ?)

    Merci

  5. #5
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bonsoir,

    Quand Maven rencontre 2 dépendances de même groupId / artifactId mais avec des versions différentes, Maven va se charger de définir la version à conserver (on peut exclure des dépendances si on souhaite forcer une version plutôt qu'une autre). En général (toujours ?), Maven va opter pour la version la plus récente.

    Que risque-t-on si on livre une version 2 dans ses dépendances alors que l'on a écrit son code pour aller avec la version 1 ? Il n'y a pas de réponse générale. Tout dépend de ta librairie. Souvent, on fait en sorte qu'une version 2 soit rétro-compatible mais ce n'est pas toujours le cas. Tu peux donc avoir des problèmes de compilation, ou pire, des problèmes au runtime (c'est plus difficile à détecter)...
    Ne peux-tu pas faire en sorte que tous les projets utilisent la version 2 de la dépendance ?
    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

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    il n'y a pas d'avance, rajustez vos projets pour être cohérents dans les numéros de version de librairie que vous utilisez. Maven est un outils de compilation, pas un outil miraculeux qui tout d'un coup va faire disparaitre les incompatibilités.

    Pour info, maven utilisera en priorité la version la moins profonde dans les dépendances, et si plusieurs dépendances sont au même niveau, il utilisera la première apparaissant.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci à tous pour vos réponses.

    Il s'agissait en fait d'une question disons théorique, je n'ai pas de projet en cours qui soit dans cette situation, j'essaye de comprendre comment Maven réagit face à ce type de cas

    Merci en tout cas pour vos réponses.

Discussions similaires

  1. [DF] question sur les propriétés des dépendances fonctionnelles
    Par bambi98 dans le forum Schéma
    Réponses: 1
    Dernier message: 07/05/2012, 03h26
  2. Question sur gestion des ressources
    Par vero84 dans le forum Project
    Réponses: 3
    Dernier message: 22/05/2010, 10h04
  3. question sur gestion des erreurs
    Par deuxmains dans le forum Général VBA
    Réponses: 4
    Dernier message: 03/10/2008, 14h50
  4. question sur le comportement des threads
    Par rose-bonbon dans le forum CORBA
    Réponses: 4
    Dernier message: 27/10/2004, 18h00
  5. question sur le format des images ..
    Par vbcasimir dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 28/08/2003, 12h08

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