2

有没有办法在(已经开始的)grails交互模式下指定系统属性?

例如我会在命令行中指定环境:

grails -Dgrails.env=staging run-app

但在交互模式下,这种方式是不可能的(因为 JVM 已经启动):

grails
grails> -Dgrails.env=staging run-app
4

1 回答 1

2

这似乎适用于 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

于 2011-09-27T18:40:00.940 回答