2010-11-13 23 views
3

Certains projets, dans le cadre de leur processus de construction, nettoient le dossier classes dans WEB-INF, tandis que d'autres conservent certains de leurs fichiers de configuration dans le dossier classes. Ce dernier groupe peut utiliser un dossier temporaire ailleurs pour créer son projet, puis copier les fichiers de classe générés depuis ce dossier temporaire vers les classes WEB-INF /, conservant ainsi leurs fichiers de configuration en toute sécurité.Processus de construction de l'application Web: Conserver les fichiers de configuration dans les classes WEB-INF /?

Existe-t-il une meilleure pratique concernant les versions d'application Web à ce sujet? J'utilise la fourmi.

Répondre

3

Les fichiers de configuration accessibles à l'utilisateur sont mieux stockés en dehors de /classes, par ex. au /WEB-INF/config. Je différencie les fichiers de configuration que les administrateurs de site peuvent toucher (ils sont placés sous WEB-INF) et ceux, de type "statiques", destinés uniquement aux développeurs/configurateurs de déploiement (comme les scripts sql, les templates XML/XSLT, i18n etc).

Il est préférable de nettoyer les classes WEB-INF/pendant les générations - certaines classes sont supprimées/renommées, de même que les fichiers de ressources. Les autres fichiers de configuration, sous WEB-INF, mais pas dans/classes ou/lib, doivent être traités comme des ressources pouvant être mises à niveau: soit remplacer les anciens uniquement lorsqu'il y en a un nouveau, soit utiliser des classes de mise à niveau spécialement conçues pour ajouter étiquettes ou lignes de configuration manquantes.

Il existe des situations délicates, comme log4j.properties est parfois stocké dans /classes racine. C'est un peu une histoire différente comment le gérer correctement, mais dans la plupart des cas, il tombe sous "supprimer toutes les classes et tout copier à nouveau".

+0

+1, Excellente réponse. – Mikaveli