Grails 从服务 class 访问 build.gradle 中的变量

Grails access variable in build.gradle from Service class

我正坐在 Grails 3.1.4 应用程序前。 build.gradle 文件如下所示:

buildscript {
    ...
}


version "01.01.12.99"

...

ext {
    ...
}

repositories {
    ...
}

dependencyManagement {
    ...
}

dependencies {
    ...
}

我想从我的一项服务 类 访问 version 变量。这是以某种方式内置到 Grails 中还是我试图做一些不可能的事情?有没有办法从服务加载这个变量 class?

我搜索了一下,发现 this,但它访问的是 Grails 版本而不是项目版本。

嗯,我最近开始使用 Grails 3。这里我得到了解决方案:

println System.properties.getProperty("info.app.version")

你会得到"01.01.12.99"。这对我来说适用于 Grails 3.1.8。

另一种实现方式(除了 Shashank Agrawal 提供的解决方案)是依赖 grailsApplication bean,代码如下:

grailsApplication.config.getProperty('info.app.version')

我用 Grails 3.1.9 和 3.2.7 测试了这个。