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 :

Profil - Fichiers 'log4j' et 'project-config' par environnement


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Par défaut Profil - Paramétrage de fichiers par environnement
    Bonjour à tous,

    Je souhaite utiliser des profils pour les environnements de prod, preprod, recette.
    Comme d'hab., ces environnements ont un niveau de log spécifique et des param de connexion spécifique aussi.

    Je souhaite donc pouvoir utiliser un fichier 'project-config.properties' et un fichier 'log4j.properties' par environnement.

    J'ai effectué des recherches sur internet mais je n'ai pas trouver grand chose ...
    Je ne vais quand même pas créer un fichier .bat pour copier ces 2 fichiers dans mes sources avant le build

    J'utilise maven 2.
    Quelqu'un aurait un exemple de pom.xml pouvant réaliser cela ?

    Merci d'avance

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Par défaut
    Pas de réponse ?
    Personne ne sait ?

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Par défaut
    voici un extrait de mon fichier project-config.properties :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ################################################################################
    ############# PARAMETRES DE CONNEXION A LA BASE DE DONNEES #####################
    ################################################################################
    
    # URL et Instance de la base
    monprj.database.url=jdbc:oracle:thin:@??.???.??.???:10241:monprj
    
    # User
    monprj.database.username=monuser
    
    # Password
    monprj.database.password=monpass
    Je souhaite paramétrer les éléments en rouge pour chaque environnement.

    Est-il possible de paramétrer cela dans ce fichier ?
    Faut-il utiliser une tâche ANT pour remplacer ce fichier par un fichier spécifique par environnement ?

    Même questions pour le fichier log4j.properties

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Tu n'as pas nécessairement besoin d'utiliser des profils pour ça.

    Voilà une proposition. Prennons un fichier machin.properties, qui contient des variables qui seront filtrées par Maven. Ce fichier sera celui déployé dans le JAR / WAR final. Son contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    database.url=${db.url}
    database.user=${db.user}
    database.password=${db.password}
    Ce fichier est placé dans mon répertoire de ressources, donc src/main/resources.

    Ensuite, j'ai un fichier par environnement, par exemple bidule-dev.properties, bidule-hom.properties, etc.
    Dans ces fichiers, je mets les valeurs à remplacer dans le fichier machin.properties :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    db.url=jdbc:...
    db.user=toto
    db.password=t0t0p4ss
    Dernier point, je lance ma commande Maven en spécifiant l'environnement visé : mvn clean install -Denv=dev

    Maintenant, le pom.xml. D'abord, je force le filtrage de mes ressources :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
    Ensuite, je charge le fichier bidule-${env}.properties :

    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
     
        <build>
            </plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>properties-maven-plugin</artifactId>
                    <version>1.0-alpha-1</version>
                    <executions>
                        <execution>
                            <phase>initialize</phase>
                            <goals>
                                <goal>read-project-properties</goal>
                            </goals>
                            <configuration>
                                <files>
                                    <file>dibule-${env}.properties</file>
                                </files>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
    Ainsi, ma commande va faire charger, via le plugin, le fichier dibule-dev.properties, puis Maven va filtrer mon fichier machin.properties avec les valeurs des clés de ce premier fichier.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 147
    Par défaut
    C'est exactement ce que je cherchais.
    Je vais tester ça

  6. #6
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Mieux vaut tard que jamais Heureusement qu'il n'y avait pas urgence
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. [Python 2.X] Fichier config par une page web
    Par BerSerK dans le forum Général Python
    Réponses: 1
    Dernier message: 07/03/2015, 21h38
  2. Envoyer un fichier sur un serveur FTP par proxy
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/12/2005, 17h39
  3. [log4j]Appeler une variable d'environnement
    Par nana1 dans le forum Logging
    Réponses: 5
    Dernier message: 08/12/2005, 13h22
  4. Fichier XML mis en page par Word
    Par macben dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 26/08/2005, 10h11
  5. [log4j] Probleme de config
    Par sylvain_neus dans le forum Logging
    Réponses: 18
    Dernier message: 30/06/2004, 20h29

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