有没有办法在(已经开始的)grails交互模式下指定系统属性?
例如我会在命令行中指定环境:
grails -Dgrails.env=staging run-app
但在交互模式下,这种方式是不可能的(因为 JVM 已经启动):
grails
grails> -Dgrails.env=staging run-app
有没有办法在(已经开始的)grails交互模式下指定系统属性?
例如我会在命令行中指定环境:
grails -Dgrails.env=staging run-app
但在交互模式下,这种方式是不可能的(因为 JVM 已经启动):
grails
grails> -Dgrails.env=staging run-app
这似乎适用于 Grails 1.3.7 交互模式。在以下位置将脚本添加到您的 Grails 应用程序scripts/SetProperty.groovy
:
includeTargets << grailsScript('_GrailsArgParsing')
target (default:'Set a system property') {
depends('parseArguments')
if (argsMap['params'][0] && argsMap['params'][1]) {
System.setProperty(argsMap['params'][0], argsMap['params'][1])
} else {
println 'You must define a property to set'
}
}
然后进入交互模式set-property grails.env staging
。