我遇到了需要将Grails Spring安全CAS插件声明为编译时依赖项的情况(在Grails应用程序的BuildConfig.groovy中):
plugins {
// Other plugins omitted for brevity...
compile ":spring-security-cas:1.0.5"
}但是,根据我的应用程序直到运行时才能使用的逻辑,我需要在运行时动态禁用/重新启用插件。
这有可能做到吗?如果是这样的话,是怎么做的?如果没有,为什么?
发布于 2014-04-23 16:55:50
一般来说,答案是否定的。Grails中没有任何东西允许您表示“如果设置了某个系统属性,则完全禁用某些特定的插件”。Grails插件可以做许多在运行时无法撤消或重新完成的事情。例如,插件可以在构建时修改web.xml。
可以编写插件,以便在运行时询问环境,并在此基础上表现出不同的行为,但这取决于插件作者是否对此进行了解释。通过与Spring应用程序上下文中的bean交互,也可以在运行时修改某些插件行为。这真的取决于插件和你试图打开和关闭的行为类型。
https://stackoverflow.com/questions/23249703
复制相似问题