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 :

Lire des variables type "properties" dans un fichier xml.


Sujet :

Maven Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Lire des variables type "properties" dans un fichier xml.
    Bonjour,

    J'ai définie des variables dans le pom.xml de mon projet parent:

    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
    <project ...>
     
    	<modelVersion>...</modelVersion>
    	<groupId>...</groupId>
    	<packaging>...</packaging>
    	<version>...</version>
    	<name>...</name>
    	<url>...</url>
     
    	<artifactId>projet-parent</artifactId>
     
    	<modules>
    		<module>../projet-fils</module>
    	</modules>
     
    	<properties>
    		<annuaire1.url>"ldap://192.168.1.101:1389"</annuaire1.url>
    		<annuaire1.login>cn=admin</annuaire1.login>
    		<annuaire1.password>abcd</annuaire1.password>
    	</properties>
     
    	<dependencies>...</dependencies>
    	<repositories>...</repositories>
    	<build>...</build>
     
    </project>

    Je souhaiterais lire le contenu de ces variables dans le configuration.xml de mon projet-fils :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
     
    <beans ...>
     
    	<ldap:annuaire id="annuaire1" anonyme="false" referral="true" ignoreErrors="true">
    	    <ldap:url>${annuaire1.url}</ldap:url>
    		<ldap:base>o=credit agricole</ldap:base>
    		<ldap:login>${annuaire1.login}</ldap:login>
    		<ldap:password>${annuaire1.password}</ldap:password>
    		<ldap:maxSearchSize>550</ldap:maxSearchSize>
    		<ldap:pool maxActive="10" />
    	</ldap:annuaire>
     
    </beans>

    Mais lors de la compilation le configuration.xml ne parvient pas à lire le contenu des variables et m'affiche l'erreur suivante :

    Invalid bean definition with name 'annuaire1' defined in null: Could not resolve placeholder 'annuaire1.url'

    Comment faire pour y parvenir ? Dois-je ajouter un préfixe particulier "project.annuaire1.url" ou "parent.annuaire1.url" ? Dois-je ajouter une ligne qui charge les properties ? Malheureusement je ne trouve pas la réponse sur le web... Merci pour toute aide !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Je viens de trouver une piste ici :
    http://www.developpez.net/forums/d97...er-properties/

    Il faudrait que le fichier cible (configuration.xml) soit filtré lors du build : c'est à dire que les champs ${...} soient remplacés par leur valeur.

    Pour cela il semblerait que je doit ajouter le code suivant dans le pom.xml de mon projet-fils :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <build>
    	...
    	<testResources>
    		<testResource>
    			<filtering>true</filtering>
    			<directory>src/test/resources</directory>
    			<includes>
    				<include>**</include>
    			</includes>
    		</testResource>
    	</testResources>
    </build>
    Car mon fichier configuration.xml se trouve dans les ressources de test.

    Toutefois j'ai testé ceci et ça ne marche toujours pas

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    En fait cette solution est la bonne mais il fallait supprimer les guillemets autour de l'url de l'annuaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <properties>
    	<annuaire1.url>ldap://192.168.1.101:1389</annuaire1.url>
    	<annuaire1.login>cn=admin</annuaire1.login>
    	<annuaire1.password>abcd</annuaire1.password>
    </properties>

    Je ferme le topic, désolé pour ce monologue mais je pense que ce topic sera util à certain étant donné qu'il n'est pas facile de trouver sur le web un article expliquant comment utiliser des properties entre deux fichiers xml. Bonne journée à tous !

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

Discussions similaires

  1. récupérer des information d'un programme java dans un fichier XML
    Par laila840 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 14/02/2014, 14h00
  2. [AppleScript] utiliser des variables entre une feuille Excel et un fichier xml (ou autre)
    Par phil74 dans le forum AppleScript
    Réponses: 0
    Dernier message: 03/10/2011, 21h51

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