8

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

提前致谢。

4

3 回答 3

8

您可以为此使用插件管理器:

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

if (PluginManagerHolder.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}
于 2010-05-31T04:05:55.693 回答
3

Grails 2.4+ 的更新

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

import grails.util.Holders

if (Holders.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}
于 2015-02-17T11:09:17.530 回答
3

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

使用 OPacegi插件的示例:

<plugin:isAvailable name="acegi">
    You have acegi installed!
</plugin:isAvailable>
于 2014-09-01T13:34:15.903 回答