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 :

Classifier dans profile


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de rt15
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 262
    Par défaut Classifier dans profile
    Bonjour,

    [maven 2.0.9]

    Globalement, je compile mes artifacts (Tout un tas de modules avec des dépendances entre eux) de deux manières différentes, à l'aide d'un profile.

    L'activation du profile se fait via l'invite de commande.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mvn -P monProfileQueJaime compile
    Donc il y a toto qui compile avec profile, et titi qui compile sans profile.

    Problème, lors du déploiement, toto écrase les artifacts de titi (et inversement). Bilan toto risque d'utiliser les artifacts de titi comme dépendance (et inversement).

    Alors je me dis, on va distribuer les artifacts de titi dans un répertoire de repository (Celui par défaut, titi n'a pas de profile) et les artifacts de toto dans un autre, avec la balise distributionManagement dans le profile. Mais c'est le drame, le gestionnaire du repository n'a pas envie de faire le(s) répertoire(s) supplémentaire(s). Probable problème de conflit, et je veux bien le croire (Des sombre histoire de cache qui cumulerait tout ce qu'il y a dans un repo...)

    Donc je me dis alors que les classifiers peuvent me sauver. Ainsi toto aura des artifact avec un classifier, et titi pas de classifier. J'ajoute donc un classifier dans mon profile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    			<build>
    				<plugins>
    			         <plugin>
    			           <artifactId>maven-jar-plugin</artifactId>
    			           <executions>
    			             <execution>
    			               <phase>package</phase>
    			               <goals>
    			                 <goal>jar</goal>
    			               </goals>
    			               <configuration>
    			                 <classifier>ci</classifier>
    			               </configuration>
    			             </execution>
    			           </executions>
    			         </plugin>
    				</plugins>
    			</build>
    Hé bin non. Si j'active le profile, il me produit 2 jars : un avec le classifier, un sans, et il me déploie les deux.

    J'ai essayé des trucs plus tordu, style dans mon profile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			<properties>
    				<project.classifier>ci</project.classifier>
    			</properties>
    Mais visiblement c'est tout à fait ignoré...

    D'où ma question, pourquoi me produit-il deux jars ??

    Merci d'avance.

    [edit]Ah ! La deuxième méthode d'ajout de classifier de mon lien plus haut semble mieux marcher. (<classifier>${envClassifier}</classifier>
    )

  2. #2
    Membre chevronné

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Par défaut
    Bonjour,

    Citation Envoyé par rt15 Voir le message
    D'où ma question, pourquoi me produit-il deux jars ??
    J'imagine parce que tu as deux exécutions du plugin jar, une par le cycle de vie de maven 2 et une autre par ton profile.

    Le mieux est sans doute de faire un pluginManagement dans ton profile afin de surcharge la configuration par défaut plutôt que de créer une nouvelle exécution.

    J'ai pas testé pour vérifier si ca marche...

    Rémy

  3. #3
    Membre éclairé Avatar de rt15
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 262
    Par défaut
    Effectivement, avec pluginManagement il ne me produit qu'un seul jar.

    Merci de cette précision ! La configuration maven me rendra fou...

    (Cependant mon jar avec classifier semble être considéré comme un attached artifact, ce qui n'arrange pas mes affaires... Mais c'est une autre histoire.)

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

Discussions similaires

  1. Aménagement menu dans profil menu
    Par Invité dans le forum SAGE
    Réponses: 2
    Dernier message: 18/05/2015, 09h13
  2. GPO: Copie de fichiers dans profil à l'ouverture de la session
    Par nesswaw dans le forum Windows Serveur
    Réponses: 8
    Dernier message: 07/05/2014, 12h21
  3. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37

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