Un fichier war fourni en externe inclut sa configuration dans le répertoire WEB-INF. J'essaie de faire en sorte que Tomcat fournisse à l'application web un répertoire WEB-INF alternatif, afin que je puisse mettre la configuration sous contrôle de version et ne pas avoir à modifier le fichier war. De nouvelles versions du fichier de guerre seront fournies périodiquement. Donc, ce que je veux faire, c'est copier le contenu WEB-INF en dehors de Tomcat, le mettre sous contrôle de version, puis dire à Tomcat (8 pour l'instant, mais nous pouvons passer à 7) pour utiliser ce externe répertoire comme son WEB-INF. De cette façon, un nouveau déploiement utilisera automatiquement l'ancienne configuration et les modifications apportées à la configuration ne seront pas perdues.Pouvez-vous avoir WEB-INF en dehors de la webapp?
(je suis en fait l'intention d'avoir la configuration en tant que déployable/« webapp » et laissez jenkins séparé poignée, donc personne n'a jamais accéder au serveur userspace directement. Mais ce n'est pas pertinent à la question, je pense J'ai regardé autour de moi et mes meilleures idées semblent se concentrer sur le contexte et les ressources fournies par Tomcat, mais je ne suis pas certain que ce soit réellement possible. Ces fichiers peuvent fournir une configuration externe pour des applications spécifiques, donc je pense que c'est l'endroit par où commencer. Voici ma tentative:
<Context>
<Resources>
<PreResources className="org.apache.catalina.webresources.DirResourceSet"
base="/home/tomcat/webapps/config/conf" webAppMount="/WEB-INF" />
</Resources>
</Context>
J'ai essayé un autre répertoire aussi bien, en dehors de webapps, mais ça ne fonctionnait pas non plus. Quelqu'un sait pourquoi cela ne fonctionne pas? Est-ce juste une chimère, serai-je obligé soit de modifier les fichiers de guerre, soit de faire le "stop-stop" recommandé par le mainteneur - "patch in" config-start?