是否可以在运行时获取特定Grails插件的版本,例如在Bootstrap类中?或更笼统地说,如何从父Grails应用程序中查询已加载的插件并获取其名称和版本号?

最佳答案

最简单的方法是与pluginManager bean进行交互。

class BootStrap {

    def pluginManager

    def init = { servletContext ->
        // retrieve them all...
        pluginManager.allPlugins.each { plugin ->
            println "Plugin: ${plugin.name}, Version: ${plugin.version}"
        }

        // retrieve a specific plugin...
        def hibPlugin = pluginManager.getGrailsPlugin('hibernate4')
        println "Hibernate Plugin Version: ${hibPlugin.version}"
    }
}

09-04 23:32