我正在尝试通过设置系统环境在外部加载属性文件。
在我的config.groovy文件中,
println "Config file location --->" + System.getenv("SAM_ENV")
grails.config.locations = ["file:"+ System.getenv("SAM_ENV")]
我已将系统env SAM_ENV值设置为C:\ test \ config.properties。
当我尝试运行应用程序时,我将打印值设为
Config file location ---> C:\test\config.properties prints properly.
问题是当我尝试以控件的形式访问属性文件时
print "PAGINATION1"+grailsApplication.config.PAGINATION1
PAGINATION1的值未正确打印。
任何人都可以帮助我在grails应用程序中访问外部属性文件时必须执行哪些配置。
答案 0 :(得分:0)
Add the below line in config.groovy
grails.config.locations = [ "classpath:grails-app-config.properties"]
environments {
development {
grails.logging.jul.usebridge = true
grails.config.locations = ["file:C:\\conf\\externalfile.groovy"]
}
production {
grails.logging.jul.usebridge = false
grails.config.locations = ["file:/opt/config/externalfile.groovy"]
// TODO: grails.serverURL = "http://www.changeme.com"
}
}
If you want to access any property from external configuration(config.groovy) then just declare the property like
property = property value eg:(ImagePath = "C:\\Users\\Saved Pictures")
access it like grailsApplication.config."property"
eg:(grailsApplication.config.ImagePath)
NOTE: dont use def just a property and its value.
答案 1 :(得分:-1)
您正在寻找的是扩展类路径,您可以通过在_Events.groovy中添加后期编译事件来实现。试试这个:
eventCompileEnd = {
ant.copy(todir:classesDirPath) {
fileset(file:"C:\test\config.properties")
}}
您可以找到更多帮助here