Quelle est la meilleure façon de créer des entrées web.xml code> spécifiques à l'environnement spécifiques à l'environnement dans GRAVES? P>
Je dois faire certaines modifications pour la production uniquement, car elles rompent fonctionnant localement. P>
Toutes les pensées? P>
3 Réponses :
Je n'ai jamais essayé, mais devrait être em> être possible de spécifier le Il y a un Liste des paramètres de buildconfig disponibles ici p> Modifier p> En fait, en raison de ce problème , ce n'est pas un moyen de transmettre :-( peut-être passer la propriété comme: p> est tout ce qui est possible? p> p> greils.config.base.webxml code> paramètre dans
buildconfig.groovy code > dépend de l'environnement actuel.
Vous pouvez créer scripts / _events.groovy code> avec un gestionnaire d'événements pour l'événement "webxmend" déclenché une fois des greils et les plugins ont fini de faire leurs modifications. Mettez à jour le XML avec la recherche simple / remplacer ou via des méthodes DOM en analysant le fichier XML et écrivez le fichier mis à jour:
import grails.util.Environment
eventWebXmlEnd = { String filename ->
if (Environment.current != Environment.PRODUCTION) {
return
}
String content = webXmlFile.text
// update the XML
content = ...
webXmlFile.withWriter { file -> file << content }
}
Voici la solution que j'utilise, du gars sur la mort-head.ch
d'abord installer les modèles p> puis personnaliser le Placez ce qui suit dans bonne chance! p> p> web.xml code> Vous trouverez dans
src / modèles / war / web.xml code>. J'ai choisi de faire un
web_dev.xml code> et a
web_prod.xml code> et supprimer le
web.xml code>. Je voulais
web_prod.xml code> pour contenir un bloc de contrainte de sécurité. de toute façon ... p>
buildconfig.groovy code>: p>
Cela fonctionne bien. Au lieu d'utiliser "$ {system.geproperty ('greils.env')}" code> i lue de
greils.util.environment.getcurrent (). GetName () code> dans GRAVES 2.2.0