如何检测插件是否安装在 grails 2.4.4 上

how to detect is plugin installed on grails 2.4.4

我在检测已安装的插件时遇到问题。我需要检查是否安装了插件。例如,我需要知道是否安装了 "MyPlugin" 插件。我尝试像 this answer 中那样使用 PluginManagerHolder,但它在 grails 2.4.4 中被删除了。请帮助您解决问题。感谢您的帮助。

可以注入GrailsPluginManager. Example code from PluginTagLib:

GrailsPluginManager pluginManager

boolean checkPluginExists(name, version) {
    if (name) {
        if (version && pluginManager.getGrailsPlugin(name, version)) {
            return true
        }
        if (pluginManager.hasGrailsPlugin(name)) {
            return true
        }
    }
    return false
}

我也找到了另一个解决方案。 在 resorces.groovy:

def pluginManager=createApplicationContext().getBean('pluginManager')

if (pluginManager.hasGrailsPlugin("MyPlugin")) { 
   do something ...
    }