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 :

Problème de version paramétrée


Sujet :

Maven Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut Problème de version paramétrée
    Bonjour,

    Je travaille avec maven 2.0.9 en multi projet et je suis en train de migrer vers maven 3.

    Vu que maven 3 ne prend plus en charge le fichier profiles.xml, j'ai mis les propriétés dans le fichier settings.xml. Jusque là tout va bien.

    J'ai un projet A qui dépend de gwt 2.0.4. ne voulant pas mettre en dur gwt 2.0.4 dans la version de la dépendance, je l'ai mis en property dans le settings.xml avec le nom 'gwt.version'.

    Le projet A ne dépendant d'aucun projet, cela marche bien.

    Un projet B dépend de A. Lors du build du projet B j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [ERROR] Failed to execute goal on project B: Could not resolve dependencies for project com........:B:jar:1.0.1-SNAPSHOT: The following artifacts could not be resolved: com.google.gwt:gwt-servlet:jar:${gwt.version}, com.google.gwt:gwt-user:jar:${gwt.version}: Failure to find com.google.gwt:gwt-servlet:jar:${gwt.version} in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
    Pourquoi maven ne prends pas en compte la valeur de gwt.version ?

  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 : 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
    C'est étrange. Tu peux voir le véritable pom.xml traité par Maven sur ton projet B en faisant la commande Mais pourquoi mettre ce genre d'informations dans le settings.xml, et pas dans un pom parent plutôt ?
    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
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    merci pour la commande, je vous tiens au courant.

    Citation Envoyé par romaintaz Voir le message
    Mais pourquoi mettre ce genre d'informations dans le settings.xml, et pas dans un pom parent plutôt ?
    Tu as tout à fait raison, c'est une info qui concerne le projet.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    Avec la commande suivante sur le projet B
    les properties (donc gwt.version) apparaissent bien dans le pom "traité par Maven",

    La dépendance vers le projet A apparaît également. Rien d'anormal.

    Quand je fais
    j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [WARNING] The POM for com.google.gwt:gwt-servlet:jar:${gwt.version} is missing, no dependency information available
    Je rappelle juste que quand je met la version en dur dans les pom, cela marche sans problème.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    J'avance un peu, mais pas des masses

    Il se trouve qu'en installant le projet A, le pom du projet A se trouvant dans le repo contient les properties telles que indiquées dans le pom de base (par exemple ${gwt.version} n'est pas remplacée par 2.0.4)

    Quand je remplace, par 2.0.4 dans le pom du repo, j'ai plus de problème.

    Je signale aussi que ce problème apparaît à partir de la version 2.0.11 de maven (aucun problème avec la 2.0.9 et 2.0.10)

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 136
    Points : 100
    Points
    100
    Par défaut
    il semblerait bien qu'il y a un bug dans certaines versions de maven 2 et 3
    voir le ticket : http://jira.codehaus.org/browse/MNG-2971

  7. #7
    Nouveau membre du Club Avatar de greaumaxime
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2003
    Messages : 27
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Peux-tu montrer à quoi ressemble ton fichier settings.xml ainsi que ton pom.xml ?

    Il y a plusieurs pistes :

    Soit lorsque tu executes les 2 commandes, il y a une conf qui fait que tu n'utilises pas le même fichier settings.xml, tu peux alors préciser le chemin complet vers le fichier settings.xml avec l'option -s (mvn -s c:\chemin\settings.xml dependency:tree) pour être sûr.

    Soit tu utilises un profil activé par défaut dans lequel tu définis ta propriété et lorsque tu executes la commande mvn dependency:tree, ton pom.xml est configuré pour activer un autre profil ce qui desactive le profil par défaut (et donc ta propriété).

    Cette configuration fonctionne bien avec Maven 3 normalement.
    Par contre il est conseillé de définir une valeur par défaut pour cette propriété dans un POM parent (quitte à la surcharger si besoin dans le fichier settings.xml pour des besoins spécifiques).

    Cordialement.

Discussions similaires

  1. [Débutant] Problème avec les paramètres d'une proc stockée
    Par babulior dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2005, 15h38
  2. Problème compilation Version 8.0.1 sous Debian Sarge
    Par LIndien dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/02/2005, 21h38
  3. Problème avec les paramètres date BDE/ODBC Oracle/XP Pro
    Par Bloon dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 10h09
  4. [Word] Problème de version Word
    Par delphicrous dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 17/09/2004, 11h19
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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