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 :

<parent> <Repository> - settings.xml vs pom.xml


Sujet :

Maven Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 38
    Points
    38
    Par défaut <parent> <Repository> - settings.xml vs pom.xml
    Bonjour,

    Je fais actuellement des tests d'intégration avec Hudson. Je souhaiterais une confirmation de ce que je viens de comprendre.

    J'ai un projetA qui dépend du projetParent. Le projetParent est dans le référentiel d'entreprise. Dans le fichier settings.xml, j'ai défini le référentiel d'entreprise (<profiles>...<repositories><repository>...) . Je pensais que cette définition servait aussi à trouver le POM parent. Si je lance un build depuis Hudson, il ne le trouve pas. Je dois redéfinir le référentiel dans le POM du projetA.

    Cela semble en effet conforme à la définition qui est donné sur le site d'Apache.
    Repositories are remote collections of projects from which Maven uses to populate the local repository of the build system. It is from this local repository that Maven calls it plugins and dependencies.
    http://maven.apache.org/settings.html#Repositories
    Ceci est conforme à ce que j'ai testé.

    Est-ce à dire que dans chaque POM je vais devoir définir un référentiel pour la notion de <parent> ou il y a-t-il une subtilité au niveau du settings.xml

    Merci.

    Rémy.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    Bonjour,

    Le fichier settings.xml est présent dans le répertoire "conf" de l’installation de Maven : "M2_HOME\conf".
    Il peut aussi être dans l’emplacement utilisateur suivant “~/.m2” afin de specifier des informations propres a l’utilisateur (sous Windows XP, cela sera “C:\Documents and Settings\<USER>\.m2”).
    A l’exécution, le contenu des deux fichiers "settings.xml" sont fusionnés.

    Hudson gère mal le contenu du fichier "settings.xml" dans M2_HOME\conf seul.
    Copier le fichier "settings.xml" avec son contenu dans l’emplacement de l’utilisateur qui lance Hudson et cela devrait marcher.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 51
    Points : 38
    Points
    38
    Par défaut
    Effectivement ça fonctionne correctement si je copie le fichier settings.xml dans le répertoire ~/.m2.
    https://hudson.dev.java.net/issues/show_bug.cgi?id=1661
    Merci.
    Rémy.

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Points : 248
    Points
    248
    Par défaut
    Techniquement le problème semble venir du fait qu'avant de lancer maven pour faire les builds hudson parse les poms du projet via l'API Maven pour découvrir les sous-modules. Le problème est que lors de l'utilisation de cette API il n'utilise pas les settings.xml maven conventionnels.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Demande de précision comment faire pour préciser un fichier settings.xml
    custom.
    Je m'explique j'ai un hudson qui est utilisé par une communauté et
    et donc je ne veux pas que l'on puisse utiliser Hudson
    pour accéder à mes repository via le build

    comment faire ?

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Points : 248
    Points
    248
    Par défaut
    $ mvn --help

    usage: mvn [options] [<goal(s)>] [<phase(s)>]

    Options:
    ...
    -gs,--global-settings <arg> Alternate path for the global
    settings file
    ...
    -s,--settings <arg> Alternate path for the user
    settings file
    ...

    Le -gs est une option rajoutée recemmennt dans Maven. Sinon on peux utiliser des propriétés (-D...). Les noms des propriétés sont donnés dans le fichier conf/settings.xml de l'installation de maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] Insérer du XML dans un fichier HTML
    Par tafkap dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 14/11/2005, 00h14
  2. [XSD] schema XML et fichier XML
    Par gatsu dans le forum Valider
    Réponses: 2
    Dernier message: 11/04/2005, 16h47
  3. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12
  4. [XML]JSP et XML DOM
    Par lenoil dans le forum Servlets/JSP
    Réponses: 18
    Dernier message: 25/11/2004, 14h44

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