2016-07-27 1 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

Хотя это работает при запуске приложения Grails локально с 'bootRun', оно не работает при создании военного файла и развертывании его на сервере. Последний возвращает всегда «null». У вас есть идея, как сделать эту работу для развернутого файла войны? – kiltek

+0

Вы пробовали распечатать 'System.properties' в сборке? –

0

Другим способ для достижения этой цели (в дополнении к решению, представленному Shashank Agrawal) полагается на grailsApplication фасоли, с помощью следующего кода:

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

Я проверил это с Grails 3.1.9 и 3.2 +0,7.

Смежные вопросы