【问题标题】:How to get grails plugin version from app?如何从应用程序获取 grails 插件版本?
【发布时间】:2011-12-16 20:56:06
【问题描述】:

如何从应用中获取 grails 插件版本?

详情:我的应用也是一个 grails 插件。

当我设置版本时,使用

grails set-version 0.5

我无法使用grailsApplication.metadata['app.version'] 获得价值 因为值在我的 FooBarGrailsPlugin.groovy 类中更新

application.properties 文件保持不变。

Tks.


当我运行 set-version 时,我的班级从:

class FooBarGrailsPlugin {
    def version = 0.1
}

class FooBarGrailsPlugin {
    def version = 0.5
}

【问题讨论】:

    标签: grails version grails-plugin


    【解决方案1】:

    以下代码将打印出应用中安装的所有插件的名称和版本

    applicationContext.getBean('pluginManager').allPlugins.each {plugin ->
        println "${plugin.name} - ${plugin.version}"
    }
    

    【讨论】:

    • 还没有工作。我在控制器中,而 applicationContext 为空。我更改为 ApplicationHolder.application.mainContext 并且正在获取插件,但值仍然来自 FooBarGrailsPlugin 类,而不是 application.properties 文件。
    • 我看到了SetVersion.groovy 源代码,有这个条件:if (isPluginProject) { ..change class...} else { ...change properties file... }。这就是为什么我要改变类的价值,而不是文件。似乎插件项目无法作为普通项目进行版本控制。好的,非常感谢。
    • grails 项目要么是插件,要么是应用程序,不能像您在问题中建议的那样兼具
    • 我的应用也是一个插件(不作为插件使用,但是有插件配置)。也许这种用法是 grails 创建者出乎意料的......
    • 最后,如果根目录下有插件配置文件ProjectNamePlugin.groovy,那么就是插件,否则就不是
    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 2013-11-14
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多