Bonjour,
Après avoir recherché un bon bout de temps sur Internet sans trop de succès, je viens solliciter un peu d'aide.
Je travaille sur une appli web J2EE (sous Tomcat avec Java 1.4) qui gère l'internationalisation au moyen d'un ResourceBundle et d'une bonne dizaine de fichiers .properties (un pour chaque pays).
Jusque là, tout fonctionne bien. Ces fichiers properties sont situé sous "\WEB-INF\classes\" et le ResourceBundle sait les reconnaître au moyen du pattern 'baseName_xx.properties" (où "xx" est la langue). L'ennui, c'est qu'à chaque mise à jour d'un seul libellé, il faut reconstruire l'appli web, la redéployer sur le serveur, créer une nouvelle version CVS... Bref, c'est un process fastidieux pour un simple libellé.
Je souhaiterais externaliser ces fichiers properties de la façon suivante :
- les extraire de l'appli elle-même
- les placer dans un répertoire bien à part sur le serveur
- mettre à jour ces fichiers indépendamment de l'appli (au pire, on la redémarre mais elle reste identique).
J'ai créé une variable d'environnement pour Tomcat afin de considérer le nouveau répertoire où chercher les fameux fichiers :
-DMONPROPFILE=C:\\Temp\\ (prenons l'ex du C:\Temp\).
J'ai déplacé mes fichiers dans ce nouveau répertoire : ils ne sont par conséquent plus dans \WEB-INF\classes. Mon appli accède à cette variable d'environnement via 'System.getProperty("MONPROPFILE")'.
Ma question semble tout bête : comment faire comprendre au ResourceBundle qu'il faut maintenant les chercher ailleurs ? Comment lui dire d'aller interroger le nouveau répertoire via la variable d'environnement ?
Pour des problèmes similaires, j'ai parfois trouvé sur le net des suggestions telles que passer du ResourceBundle aux Properties (mais je risque de perdre beaucoup en internationalisation non ? Pas envie de développer moi-même ce que le ResourceBundle sait faire tout seul !) ou utiliser un PropertyResourceBundle (mais peu d'exemples d'utilisation : je vois pas trop comment ça tourne).
Une petite suggestion ?
Merci par avance
Partager