我试图将动态值放在ConfigSlurper(String env)的参数中,但它没有显示任何值,只有当我在ConfigSlurper中将字符串常量作为env传递时它才显示值。
{"description":" شات اندرويد بمميزات جميلة يدعم شاشات الجوالات دعم كامل *امكانية رفع صورة عرض خآصة بكم *امكانية اظافة ايقونات واختصارات مثل : ض1, ض2 . الخ *امكانية تثبيت نك مع باسورد خاص ",
"language":"","name":"شات فله العربي-new"}
o / p:
Ex:
def config = new ConfigSlurper('PRODUCT').parse(propertiesFile)
println "PRODUCT_NAME: "+config.PRODUCT_NAME
但是当我尝试使用env中的动态值来读取属性文件时我得到了:
PRODUCT_NAME: TYPEB_Routing,TYPEB_Mediation,TYPEX_Routing,TYPEX_Mediation
o / p:
Ex:
def pdt1 = "PRODUCT"
def config = new ConfigSlurper('$pdt1').parse(propertiesFile)
println "PRODUCT_NAME: "+config.PRODUCT_NAME
为什么会这样,我没有得到? 请解释....
答案 0 :(得分:2)
您应该尝试在插值字符串上使用双引号,如下所示:
def config = new ConfigSlurper("${pdt1}").parse(propertiesFile)
单引号字符串不支持插值。
这是关于语法的文档。 http://docs.groovy-lang.org/latest/html/documentation/index.html#_string_interpolation
答案 1 :(得分:0)
'$pdt1'
肯定不会工作'
不评估GString
所以传递的值将是$pdt1
字面意思。您需要使用"
- 双引号。
也许你还需要传递"$pdt1".toString()
- 明确地将参数转换为String
。