Grails 检测是不是安装了插件
Posted
技术标签:
【中文标题】Grails 检测是不是安装了插件【英文标题】:Grails Detect if a Plugin is InstalledGrails 检测是否安装了插件 【发布时间】:2011-02-25 20:10:09 【问题描述】:Grails 中有没有办法检测是否安装了插件。例如,我需要知道是否安装了“Acegi”插件。如果是,那么我可以运行不同的代码。如果没有安装插件(这是一个可行的选择),那么我可以运行不同的代码。
提前致谢。
【问题讨论】:
【参考方案1】:您可以为此使用插件管理器:
import org.codehaus.groovy.grails.plugins.PluginManagerHolder
if (PluginManagerHolder.pluginManager.hasGrailsPlugin('acegi'))
...
【讨论】:
【参考方案2】:Grails 2.4+ 更新
请注意,特定的持有者类(例如 PluginManagerHolder
)已在多个 Grails 版本中被弃用,并在 Grails 2.4 中被删除。它们已被单个 grails.util.Holders
类所取代,通过单个访问点提供对所有各种应用程序范围对象的访问。
import grails.util.Holders
if (Holders.pluginManager.hasGrailsPlugin('acegi'))
...
【讨论】:
【参考方案3】:您可以使用<plugin:isAvailable> 和<plugin:isNotAvailable> 标签。
使用 OP 的 acegi
插件的示例:
<plugin:isAvailable name="acegi">
You have acegi installed!
</plugin:isAvailable>
【讨论】:
以上是关于Grails 检测是不是安装了插件的主要内容,如果未能解决你的问题,请参考以下文章