Grails 中有没有办法检测是否安装了插件。例如,我需要知道是否安装了“Acegi”插件。如果是,那么我可以运行不同的代码。如果未安装插件(这是一个可行的选项),那么我可以运行不同的代码。
提前致谢。
Grails 中有没有办法检测是否安装了插件。例如,我需要知道是否安装了“Acegi”插件。如果是,那么我可以运行不同的代码。如果未安装插件(这是一个可行的选项),那么我可以运行不同的代码。
提前致谢。
您可以为此使用插件管理器:
import org.codehaus.groovy.grails.plugins.PluginManagerHolder
if (PluginManagerHolder.pluginManager.hasGrailsPlugin('acegi')) {
...
}
请注意,特定的持有者类(例如)PluginManagerHolder
已在多个 Grails 版本中被弃用,并在 Grails 2.4 中被删除。它们已被单个grails.util.Holders
类取代,该类通过单个访问点提供对所有各种应用程序范围对象的访问。
import grails.util.Holders
if (Holders.pluginManager.hasGrailsPlugin('acegi')) {
...
}
您可以使用<plugin:isAvailable>和<plugin:isNotAvailable>标签。
使用 OPacegi
插件的示例:
<plugin:isAvailable name="acegi">
You have acegi installed!
</plugin:isAvailable>