chargement de ficheir .properties en dehors du répertoire classes
3 réponses
Vinz
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent,
mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp
(ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties.
Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/"
. Le problème c'est que je n'arrive pas à charger mes fichiers de conf
depuis l'endroit où ils sont (j'utilise
getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive
si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en
arrive donc à me demander si ce que je veux faire est possible, ou si toute
ressource chargée doit être dans le répertoire "classes" (les exemples que
j'ai trouvés sont généralement foutus comme ça).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean Bernard Root
Vinz wrote:
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent, mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp (ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties. Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/" . Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en arrive donc à me demander si ce que je veux faire est possible, ou si toute ressource chargée doit être dans le répertoire "classes" (les exemples que j'ai trouvés sont généralement foutus comme ça).
Avec les conteneur de servlet et les applets, vous ne maitrisez pas l'endroit d'où seront chargés vos fichiers de configuration. Les concepteurs de java ont donc eu la "bonne" idée d'utiliser le ClassLoader pour charger les fichiers de configuration (getResourceAsStream).
Cette approche est parfaite quand ces fichiers sont très proches du code et ne nécessitent pas de changement lors de l'installation ...
Pour les autres cas, j'utilise personellement l'approche suivante :
fichier .properties à l'extérieur de l'environnement de l'appli, chargé via une ressource de configuration sur Context de la servlet. Donc getContext().getInitParameter ("configFile"); puis je charge ce fichier tout simplement avec les API de java.util.Properties.
On peu imaginer des choses assez siouxes comme des configurations qui se rechargent à chaque changement du fichier, ne nécéssitant pas de redémarrer le conteneur à chaque édition du fichier.
j'aimerais aussi savoir comment les autres gèrent ce problème !
Vinz wrote:
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent,
mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp
(ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties.
Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/"
. Le problème c'est que je n'arrive pas à charger mes fichiers de conf
depuis l'endroit où ils sont (j'utilise
getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive
si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en
arrive donc à me demander si ce que je veux faire est possible, ou si toute
ressource chargée doit être dans le répertoire "classes" (les exemples que
j'ai trouvés sont généralement foutus comme ça).
Avec les conteneur de servlet et les applets, vous ne maitrisez pas
l'endroit d'où seront chargés vos fichiers de configuration. Les
concepteurs de java ont donc eu la "bonne" idée d'utiliser le
ClassLoader pour charger les fichiers de configuration
(getResourceAsStream).
Cette approche est parfaite quand ces fichiers sont très proches du code
et ne nécessitent pas de changement lors de l'installation ...
Pour les autres cas, j'utilise personellement l'approche suivante :
fichier .properties à l'extérieur de l'environnement de l'appli, chargé
via une ressource de configuration sur Context de la servlet. Donc
getContext().getInitParameter ("configFile"); puis je charge ce fichier
tout simplement avec les API de java.util.Properties.
On peu imaginer des choses assez siouxes comme des configurations qui se
rechargent à chaque changement du fichier, ne nécéssitant pas de
redémarrer le conteneur à chaque édition du fichier.
j'aimerais aussi savoir comment les autres gèrent ce problème !
je sais que mon problème (le chargement de fichiers) est assez récurrent, mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp (ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties. Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/" . Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en arrive donc à me demander si ce que je veux faire est possible, ou si toute ressource chargée doit être dans le répertoire "classes" (les exemples que j'ai trouvés sont généralement foutus comme ça).
Avec les conteneur de servlet et les applets, vous ne maitrisez pas l'endroit d'où seront chargés vos fichiers de configuration. Les concepteurs de java ont donc eu la "bonne" idée d'utiliser le ClassLoader pour charger les fichiers de configuration (getResourceAsStream).
Cette approche est parfaite quand ces fichiers sont très proches du code et ne nécessitent pas de changement lors de l'installation ...
Pour les autres cas, j'utilise personellement l'approche suivante :
fichier .properties à l'extérieur de l'environnement de l'appli, chargé via une ressource de configuration sur Context de la servlet. Donc getContext().getInitParameter ("configFile"); puis je charge ce fichier tout simplement avec les API de java.util.Properties.
On peu imaginer des choses assez siouxes comme des configurations qui se rechargent à chaque changement du fichier, ne nécéssitant pas de redémarrer le conteneur à chaque édition du fichier.
j'aimerais aussi savoir comment les autres gèrent ce problème !
Bernard Koninckx
Ca m'intéresse aussi mais pour une application StandAlone
Bernard
"Vinz" a écrit dans le message de news: c7d82j$3h8$
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent, mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp (ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties.
Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/"
. Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en arrive donc à me demander si ce que je veux faire est possible, ou si toute
ressource chargée doit être dans le répertoire "classes" (les exemples que j'ai trouvés sont généralement foutus comme ça).
merci d'avance
-- Vincent
Ca m'intéresse aussi mais pour une application StandAlone
Bernard
"Vinz" <vfuchs@hotmail.com> a écrit dans le message de news:
c7d82j$3h8$1@s1.read.news.oleane.net...
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent,
mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp
(ma_webapp) qui contient un répertoire "conf" avec mes fichiers
.properties.
Mes classes sont logiquement dans le répertoire
"ma_webapp/WEB-INF/classes/"
. Le problème c'est que je n'arrive pas à charger mes fichiers de conf
depuis l'endroit où ils sont (j'utilise
getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive
si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en
arrive donc à me demander si ce que je veux faire est possible, ou si
toute
ressource chargée doit être dans le répertoire "classes" (les exemples que
j'ai trouvés sont généralement foutus comme ça).
Ca m'intéresse aussi mais pour une application StandAlone
Bernard
"Vinz" a écrit dans le message de news: c7d82j$3h8$
salut,
je sais que mon problème (le chargement de fichiers) est assez récurrent, mais je n'ai pas trouvé de solutions dans mon cas précis. J'ai une webapp (ma_webapp) qui contient un répertoire "conf" avec mes fichiers .properties.
Mes classes sont logiquement dans le répertoire "ma_webapp/WEB-INF/classes/"
. Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")). J'y arrive si je les mets dans le répertoire "classes", ce que j'aimerai éviter. J'en arrive donc à me demander si ce que je veux faire est possible, ou si toute
ressource chargée doit être dans le répertoire "classes" (les exemples que j'ai trouvés sont généralement foutus comme ça).
merci d'avance
-- Vincent
Guillaume Carré
Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")).
Le problème c'est que je n'arrive pas à charger mes fichiers de conf
depuis l'endroit où ils sont (j'utilise
getClass().getResourceAsStream("mon_fichier_conf.properties")).
Le problème c'est que je n'arrive pas à charger mes fichiers de conf depuis l'endroit où ils sont (j'utilise getClass().getResourceAsStream("mon_fichier_conf.properties")).