【问题标题】:Grails Detect if a Plugin is InstalledGrails 检测是否安装了插件
【发布时间】:2011-02-25 20:10:09
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: grails grails-plugin


    【解决方案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>
        

        【讨论】:

          猜你喜欢
          • 2015-04-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-28
          • 2023-03-14
          • 2019-07-29
          • 2011-03-25
          • 2013-01-29
          相关资源
          最近更新 更多