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 :

Build selon le profile dans un pom parent


Sujet :

Maven Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Par défaut Build selon le profile dans un pom parent
    Salut,

    J'ai plusieurs projets web. J'aimerais envoyer vers un serveur FTP le war issu de la compilation pour déploiement en production. Tous les war seront déployés sur le même serveur de production.

    J'aimerais que, en fonction du profil choisi, le war soit déployé sur tel ou tel poste. Pour le profil dev, j'appellerais le plugin maven-antrun-plugin pour copier le war dans un dossier de ma machine locale. Pour le profile prod, j'appellerais le plugin maven-antrun-plugin pour envoyer le war sur un serveur FTP.

    Pour l'instant j'arrive à lancer un build particulier en précisant un profil quand tout est défini dans le pom fils :

    Code xml : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <project>
        ...
     
        <profiles>
            <!-- Profile dev : copie sur le serveur de dev local -->
            <profile>
                <id>dev</id>
     
                <build>
                    <finalName>${project.artifactId}-${project.version}</finalName>
                    <plugins>
    		    <plugin>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <executions>
                                <execution>
                                    <phase>package</phase>
                                    <configuration>
                                        <tasks>
                                            <copy todir="mon/dossier/de/destination"
                                                file="target/${project.artifactId}-${project.version}.war">
                                            </copy>
                                        </tasks>
                                    </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                </execution>
                             </executions>
                         </plugin>
                     </plugins>
                 </build>
            </profile>
     
            <!-- Profile prod : envoi du war sur le serveur FTP -->
            <profile>
                <id>prod</id>
     
                <build>
                    <finalName>${project.artifactId}-${project.version}</finalName>
                    <plugins>
                        <plugin>
                            <inherited>true</inherited>
                            <artifactId>maven-antrun-plugin</artifactId>
                            <executions>
                                <execution>
                                    <phase>package</phase>
                                    <id>ftp</id>
                                    <goals>
                                        <goal>run</goal>
                                    </goals>
                                    <configuration>
                                        <tasks>
                                            <ftp server="monServeur"
                                                    port="21"
                                                    action="send"
                                                    remotedir="/"
                                                    userid="monUser"
                                                    password="***"
                                                    verbose="yes" >
                                                <fileset dir="target">
                                                    <include name="${project.artifactId}-${project.version}.war" />
                                                </fileset>
                                            </ftp>
                                        </tasks>
                                    </configuration>
                                </execution>
                            </executions>
     
                            <!-- Dépendances nécessaires à l'utilisation des fonctionnalités FTP de maven-antrun-plugin -->
                            <dependencies>
                                <dependency>
                                    <groupId>commons-net</groupId>
                                    <artifactId>commons-net</artifactId>
                                    <version>1.4.1</version>
                                </dependency>
     
                                <dependency>
                                    <groupId>ant</groupId>
                                    <artifactId>ant-commons-net</artifactId>
                                    <version>1.6.5</version>
                                </dependency>
                            </dependencies>
                        </plugin>
                    </plugins>
                </build>
            </profile>
        </profiles>
    </project>

    De manière à ne pas dupliquer le code, j'aimerais tout centraliser dans le pom parent en déplaçant le contenu de la balise <profiles> dans le pom parent. Visiblement, ça ne fonctionne pas. Savez-vous pourquoi ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 63
    Par défaut
    Forcément, si je fais pas un mvn install du pom parent, ça marche moins bien...

    Merci quand même !

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

Discussions similaires

  1. Erreur dans mon pom parent
    Par kkt8 dans le forum Maven
    Réponses: 9
    Dernier message: 22/06/2015, 16h08
  2. Properties du POM parent dans les POM enfants
    Par Nertios dans le forum Maven
    Réponses: 0
    Dernier message: 05/06/2013, 09h54
  3. Réponses: 9
    Dernier message: 24/11/2010, 14h50
  4. Réponses: 2
    Dernier message: 23/06/2004, 13h56
  5. 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