假设我们在 gradle.properties 文件中定义了包含 groovy 表达式的属性值:
databaseFile = ${System.properties['user.home']}/.derby
稍后当我想在 gradle 构建脚本中访问此属性值时,
看起来它是在 groovy 运行时作为纯 java 字符串加载的,没有进行字符串评估。
在通过 gradle dsl 获取属性值之前,是否有任何方法可以帮助我评估纯 java 字符串?
或者我必须评估运行时得到的 java 字符串?但如何做到这一点呢?
谢谢~
最佳答案
假设:
databaseFile_unevaluated = '${System.properties[\'user.home\']}/.derby'
您也许可以使用 Eval
将其评估为 GString
:
databaseFile = Eval.me(""" "$databaseFile_unevaluated" """)
这也可以写成:
databaseFile = Eval.me("\"$databaseFile_unevaluated\"")
关于java - 如何在运行时转换包含groovy表达式的纯java字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31401537/