我想如果你能以某种方式分析字节码并精确计算出哪些字节码 Config$_closure3$_closure12 对应于你不需要的那个,那么你可以用一个空的闭包替换它在战争中,但它可能比它的价值更麻烦。我当然没有简单的方法。
Config$_closure3$_closure12
我会将每个env的配置放在一个单独的文件中。如果你把prod配置放在web-app / WEB-INF / classes / myapp-prod.groovy(仍在环境块中)并将dev配置放在顶层目录的文件中,并说
grails.config.locations = ["classpath:myapp-prod.groovy", "file:myapp-dev.groovy"]
然后只有prod配置才会在战争中结束。虽然它完全是人类可读的,但是简单地将prod配置直接保存在Config.groovy中(因此它被编译)可能更安全,只需使用外部覆盖dev模式。