2016-07-27 39 views
1

我坐在Grails 3.1.4應用程序的前面。該build.gradle文件看起來像這樣:Grails在服務類build.gradle中訪問變量

buildscript { 
    ... 
} 


version "01.01.12.99" 

... 

ext { 
    ... 
} 

repositories { 
    ... 
} 

dependencyManagement { 
    ... 
} 

dependencies { 
    ... 
} 

從我的服務類之一,我想訪問version變量。這是以某種方式嵌入到Grails中,還是我試圖做一些不可能的事情?有沒有辦法從Service類加載這個變量?

我搜索了一下,發現this,但它訪問Grails版本而不是項目版本。

回答

3

好吧,我最近開始使用Grails 3.在這裏,我得到了解決:

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

,你會得到"01.01.12.99"。這是爲我工作的Grails 3.1.8。

+0

雖然在使用'bootRun'在本地運行Grails應用程序時可以工作,但它在創建war文件並將其部署到服務器時不起作用。後者總是返回'null'。你有一個想法如何使這個工作部署戰爭文件? – kiltek

+0

您是否嘗試過在構建中打印'System.properties'? –

0

另一種方式來實現這一點(除了由沙善阿格拉瓦爾提供的解決方案)是依託grailsApplication豆,用下面的代碼:

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

我使用Grails 3.1.9和3.2測試這0.7。