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 :

[Maven 2] Filtres


Sujet :

Maven Java

  1. #1
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut [Maven 2] Filtres
    Bonjour (enfin re re),

    J'essaye d'utiliser des filtres dans mon assembly. Apparement, l'option filtered n'est disponible qu'au niveau des file (et non des fileSet), ce qui n'est pas des plus pratique, mais on fait avec.....

    Ma question est plutot sur comment injecter le numéro de version d'une dépendance. Typiquement, je cherche à construire un batch permettant de lancer le programme, et j'aimerai automatiser la construction du classpath en y mettant les versions correctes de mes dépendances (en attendant un jour de construire la liste de ces dépendances de façon dynamique).

    J'ai essayé des choses du genre:
    pom.dependency.groupId.artifactId.version
    pom.dependencies.groupId.artifactId.version

    Mais ça ne marche pas

    Une idée sur comment faire ça (et même une idée si c'est possible)?


  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par denisC
    Bonjour (enfin re re),

    J'essaye d'utiliser des filtres dans mon assembly. Apparement, l'option filtered n'est disponible qu'au niveau des file (et non des fileSet), ce qui n'est pas des plus pratique, mais on fait avec.....

    Ma question est plutot sur comment injecter le numéro de version d'une dépendance. Typiquement, je cherche à construire un batch permettant de lancer le programme, et j'aimerai automatiser la construction du classpath en y mettant les versions correctes de mes dépendances (en attendant un jour de construire la liste de ces dépendances de façon dynamique).

    J'ai essayé des choses du genre:
    pom.dependency.groupId.artifactId.version
    pom.dependencies.groupId.artifactId.version

    Mais ça ne marche pas

    Une idée sur comment faire ça (et même une idée si c'est possible)?


    salut,

    as tu essayé:
    ${pom.version}

  3. #3
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par Sniper37
    salut,

    as tu essayé:
    ${pom.version}
    Tout à fait, pom.version fonctionne très bien pour la version du module que je suis en train d'assembler.

    Mais celui-ci a des dépendances, et je cherche à automatiser les numéros de version de ces dépendances.....

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Par défaut
    Citation Envoyé par denisC
    Bonjour (enfin re re),

    J'essaye d'utiliser des filtres dans mon assembly. Apparement, l'option filtered n'est disponible qu'au niveau des file (et non des fileSet), ce qui n'est pas des plus pratique, mais on fait avec.....

    Ma question est plutot sur comment injecter le numéro de version d'une dépendance. Typiquement, je cherche à construire un batch permettant de lancer le programme, et j'aimerai automatiser la construction du classpath en y mettant les versions correctes de mes dépendances (en attendant un jour de construire la liste de ces dépendances de façon dynamique).

    J'ai essayé des choses du genre:
    pom.dependency.groupId.artifactId.version
    pom.dependencies.groupId.artifactId.version

    Mais ça ne marche pas

    Une idée sur comment faire ça (et même une idée si c'est possible)?

    Ce n'est pas possible

    Pour maven, Continuum et nos autre applis, nous utilisons classworlds pour le chargement des libs (il n'y a pas besoin de specifier les versions dans la conf) et éventuellement JSW

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    le path est du style ??

    xx/${groupId}.${artifactId}_${version}.xx/xxx

    si dans l'arborescence, dans un group tu parcours les artifacts...pour un artifactId, tu peux avoir la version ${version}..

    peu etre je n'ai pas bien compris ce que tu veux faire!!! ??

  6. #6
    Membre confirmé Avatar de morice.ju
    Inscrit en
    Avril 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 79
    Par défaut
    Tu peux y arriver, mais il faut que tu définisses toi meme tes propres propriétés dans le pom du plus haut niveau dans ton projet.

    par exemple dans le pom pere :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <properties>
                     <patate.version>1.0.5</patate.version>
                     <pomme.version>1.2.3</pomme.version>
    </properties>
    Ensuite pour gérer les dépendances au sein d'un sous projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <dependencies>
                     <dependency>
                                  <groupId></groupId>
                                  <artifactId></artifactId>
                                  <version>${patate.version}</version>
                    </dependency>
    </dependencies>
    Cela peut être pratique pour des dépendances inter-projet.

    Sinon en définissant toujours au plus haut niveau des fichiers pom.xml un dependencyManagement, en utilisant cette balise tous les sous pom ont la possibilité de déclarer les mêmes dépendances que le pom père mais sans la version, donc dans ce cas on définit une seule fois les versions et le reste des poms fils hérite de cette propriété.

  7. #7
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par morice.ju
    Sinon en définissant toujours au plus haut niveau des fichiers pom.xml un dependencyManagement, en utilisant cette balise tous les sous pom ont la possibilité de déclarer les mêmes dépendances que le pom père mais sans la version, donc dans ce cas on définit une seule fois les versions et le reste des poms fils hérite de cette propriété.
    Tout à fait, ce mécanisme est déjà en place, mais la question était comment récuperer les versions efefctives dans les poms enfants.

    Effectivement, ta méthode semble être une possiblité


  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 172
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 172
    Par défaut
    Citation Envoyé par denisC
    Tout à fait, ce mécanisme est déjà en place, mais la question était comment récuperer les versions efefctives dans les poms enfants.

    Effectivement, ta méthode semble être une possiblité

    Si tu utilises le dependencyManagement, il n'y a pas de version à écrire dans les poms enfants, elles sont automatiquement récupérées du parent.

  9. #9
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    Bonjour,

    Ce sujet m'intéresse grandement, c'est aussi ce que cherche à utiliser pour créer un shell et construire automatiquement mon classpath.
    Le plugin maven jnlp en maven 1 (et je suppose son pendant en maven2) était capable de lister les jars en dépendances pour les remplir dans un fichier jnlp. C'est exactement la même problématique.
    Quelqu'un a t'il trouvé une solution simple sur ce sujet ?

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

Discussions similaires

  1. Maven et les filtres de licenses
    Par Crazyfaboo dans le forum Maven
    Réponses: 0
    Dernier message: 29/07/2010, 11h00
  2. Regrouper les propriétés des filtres maven
    Par Raphael_Lemaire dans le forum Maven
    Réponses: 3
    Dernier message: 05/01/2009, 23h24
  3. TADOTable et filtre
    Par GaL dans le forum C++Builder
    Réponses: 16
    Dernier message: 02/07/2002, 16h52
  4. Filtre passe Bande
    Par Mau dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 28/06/2002, 17h03
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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