Grails检测是否安装了插件

时间:2010-05-31 03:27:01

标签: grails grails-plugin

Grails中是否有办法检测是否安装了插件。例如,我需要知道是否安装了“Acegi”插件。如果是,那么我可以运行不同的代码。如果未安装插件(这是一个可行的选项),那么我可以运行不同的代码。

先谢谢。

3 个答案:

答案 0 :(得分:8)

您可以使用插件管理器:

import org.codehaus.groovy.grails.plugins.PluginManagerHolder

if (PluginManagerHolder.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}

答案 1 :(得分:3)

您可以使用<plugin:isAvailable><plugin:isNotAvailable>标记。

使用OP的acegi插件的示例:

<plugin:isAvailable name="acegi">
    You have acegi installed!
</plugin:isAvailable>

答案 2 :(得分:3)

Grails 2.4 +

的更新

请注意,特定的持有者类(例如PluginManagerHolder)已全部弃用Grails的多个版本,并在Grails 2.4中删除。它们已被单个grails.util.Holders类所取代,可通过单个访问点访问所有各种应用程序范围的对象。

import grails.util.Holders

if (Holders.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}