2015-02-17 6 views
0

У меня проблема с обнаружением установленного плагина. Мне нужно проверить, установлен ли плагин. Например, мне нужно знать, установлен ли плагин «MyPlugin». Я пытаюсь использовать PluginManagerHolder как в this answer, но он удаляется в grails 2.4.4. Пожалуйста, помогите с вашими решениями. Спасибо за помощь.Как обнаружить плагин, установленный на grails 2.4.4

+0

[Я добавил ответ на связанный вопрос] (http://stackoverflow.com/a/28560607/592139) объясняет 'Holders' класс, который заменяет различные конкретные Классы XyzHolder в более поздних версиях Grails. –

+0

Возможный дубликат [Grails Detect, если установлен плагин] (http://stackoverflow.com/questions/2941216/grails-detect-if-a-plugin-is-installed) –

+0

Спасибо [Ян Робертс] (http: //stackoverflow.com/users/592139/ian-roberts) – Guwanch

ответ

4

Вы можете ввести GrailsPluginManager. Пример кода от PluginTagLib:

GrailsPluginManager pluginManager 

boolean checkPluginExists(name, version) { 
    if (name) { 
     if (version && pluginManager.getGrailsPlugin(name, version)) { 
      return true 
     } 
     if (pluginManager.hasGrailsPlugin(name)) { 
      return true 
     } 
    } 
    return false 
} 
+1

Как боб, а не сервис. –

+0

@BurtBeckwith исправлено, спасибо – cfrick

+0

Спасибо. Он работает отлично. – Guwanch

0

Я нашел еще одно решение. В resorces.groovy:

def pluginManager=createApplicationContext().getBean('pluginManager') 

if (pluginManager.hasGrailsPlugin("MyPlugin")) { 
    do something ... 
    } 
Смежные вопросы