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 :

[Maven2] Jouer plusieurs execution avec des confs différentes


Sujet :

Maven Java

  1. #1
    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
    Points : 2 373
    Points
    2 373
    Par défaut [Maven2] Jouer plusieurs execution avec des confs différentes
    Salut,

    J'utilise le plugin maven webstart pour mon appli jnlp. (http://mojo.codehaus.org/webstart-ma...gin/howto.html)
    Auparavant a chaque déploiement je faisais tout ca a la main, je relivrais plusieurs fichiers jnlp (avec des paramêtres différents a l'intérieur).
    La j'aimerais utiliser ce plugin qui pourrait me générer automatiquement mes jnlp.

    Ma conf du plugin jnlp est comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    		<plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>webstart-maven-plugin</artifactId>
    				<executions>
    					<execution>
    						<goals>
    							<goal>jnlp</goal>
    						</goals>
    					</execution>
    				</executions>
    				<configuration>
                                     ...
                                    <inputTemplate>src/jnlp/template.vm</inputTemplate>
                                     ....
    Je ne peux donc a priori déclarer qu'une seule configuration pour mon plugin et donc un seul fichier de sortie template.vm.

    Est ce qu'il n'y aurait pas un moyen avec les profiles de déclarer plusieurs confs et de jouer plusieurs fois mon execution sur des profils différents (mais dans le même build)
    Je crois que la question est plus spécifique maven et pas spécifique a ce plugin d'ailleurs.

    Une idée ?

  2. #2
    Membre habitué Avatar de marcxa44
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 202
    Points : 142
    Points
    142
    Par défaut
    tu as un moyen c de créer des profiles, je m explique,
    dans ton pom.xml tu défini ton plugin comme tel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <plugin>
    				<groupId>org.codehaus.mojo</groupId>
    				<artifactId>webstart-maven-plugin</artifactId>
    				<executions>
    					<execution>
    						<goals>
    							<goal>jnlp</goal>
    						</goals>
    					</execution>
    				</executions>
    				<configuration>
                                     ...
                                    <inputTemplate>${inputTemplate.chemin}</inputTemplate>
                                     ....
    ensuite dans ton fichier settings.xml qui se trouve MVN_HOME/conf tu rajoute :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    <profiles>
    	<profile>
    		<id>parametrage</id>
                            <activation>
    			<property>
    				<name>env</name>
    				<value>nom_du profile</value>
    			</property>
    		</activation>
    		<properties>
                      <inputTemplate.chemin>src/jnlp/template.vm</inputTemplate.chemin>
    </properties>
    </profile>
    <profile>
    		<id>parametrage</id>
                            <activation>
    			<property>
    				<name>env</name>
    				<value>nom_du profile2</value>
    			</property>
    		</activation>
    		<properties>
                      <inputTemplate.chemin>...</inputTemplate.chemin>
    </properties>
    </profile>
    </profiles>
    Enfin pour apeler l'un ou l'autre profile il suffit de lancer la commande :
    mvn -Denv=nom_du_profile et ensuite tes différents goals.
    J'espere que je me suis bien fais comprendre.
    reposte si jamais tu as des questions.

  3. #3
    Membre actif Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Points : 226
    Points
    226
    Par défaut
    si justement,

    tu n'as qu'à créer des profiles avec des fichiers de sortie différents et tu relances autant de fois ta commande avec un profile différent à chaque fois

    mvn jnlp -P profile1
    mvn jnlp -P profile2

    etc..

  4. #4
    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
    Points : 2 373
    Points
    2 373
    Par défaut
    Je vois bien l'utilisation de profiles mais ca ne correspond pas complètement a ce que j'aimerais. Effectivement je peux décomposer mon build en 6 lancements mais j'aimerais n'avoir qu'un seul mvn install à faire (et a automatiser)
    Dans la dtd, apparemment j'ai la possibilité de rajouter un id sur une execution, donc je me demandais si je ne pouvais pas rajouter plusieurs goals jnlp avec des ids différents qui joueraient sur plusieurs profiles différents.
    Il y a peut être un mécanisme de ce type que je ne connais pas et qui pourrait m'aider ^^
    Sinon l'autre solution sans modifier le plugin c'est de créer 6 projets différents pour packager mon jnlp et de tout agréger dans un 7eme projet qui créé un war mais vous avouerez que c'est un peu tiré par les cheveux ^^

  5. #5
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par hugo123
    Est ce qu'il n'y aurait pas un moyen avec les profiles de déclarer plusieurs confs et de jouer plusieurs fois mon execution sur des profils différents (mais dans le même build)
    Je crois que la question est plus spécifique maven et pas spécifique a ce plugin d'ailleurs.

    Une idée ?
    Oui, tu peux mettre plusieurs executions avec chacune sa configuration :
    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>webstart-maven-plugin</artifactId>
      <executions>
        <execution>
          <id>exec1</id>
          <goals>
            <goal>jnlp</goal>
          </goals>
          <configuration>
            <inputTemplate>src/jnlp/template.vm</inputTemplate>
          </configuration>
        </execution>
        <execution>
          <id>exec2</id>
          <goals>
            <goal>jnlp</goal>
          </goals>
          <configuration>
            <inputTemplate>src/jnlp/autreTemplate.vm</inputTemplate>
          </configuration>
        </execution>
      </executions>
      <configuration>
        ...
    Et tu laisses dans la balise configuration du plugin la configuration commune à toutes les executions.

    Cf : http://maven.apache.org/ref/current/...lass_execution

  6. #6
    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
    Points : 2 373
    Points
    2 373
    Par défaut
    Effectivement, en théorie ca devrait marcher.
    Mais je viens de faire le test, toutes les conf que j'ai mis dans la balise configuration de l'execution ne sont pas prises en compte.
    Je devrais peut être tester en 2.0.6 et 2.0.7, je vais voir.

  7. #7
    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
    Points : 2 373
    Points
    2 373
    Par défaut
    Erreur de ma part, j'ai recopié bêtement mais il y a une balise jnlp en plus. Ca marche bien, merci.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2014, 20h19
  2. Réponses: 1
    Dernier message: 18/02/2014, 16h32
  3. Export de plusieurs tables avec des query différents
    Par debdba dans le forum Import/Export
    Réponses: 8
    Dernier message: 24/05/2012, 11h22
  4. Réponses: 40
    Dernier message: 02/12/2007, 16h24
  5. Changer plusieur style avec des IDs différents?
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/07/2005, 14h33

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