以下是我的Config.groovy
环境部分(使用2.3.6):
grails.app.context = "/"
environments {
development {
grails.logging.jul.usebridge = true
grails.serverURL = "http://localhost:8080"
} production {
grails.logging.jul.usebridge = false
grails.serverURL = "http://myapp.example.io" // Although this isn't my production domain, it is a *.io TLD
}
}
当我做grails -Dgrails.env=development run-app
时,我得到:
|打包应用程序时出错错误:加载错误Config.groovy:无法在null对象上调用方法production()(使用--stacktrace查看完整跟踪)
这里发生了什么?
答案 0 :(得分:3)
在新行中使用production
DSL。如果在开发结束时在同一行中使用它,那么它将被视为对带有闭包参数的development
调用的返回类型(无效)的新方法调用。方法名称为production
,如:
development(clos1).production(clos2)
VERSUS
development(closure)
production(closure)
因此请将其用作:
environments {
development {
grails.logging.jul.usebridge = true
grails.serverURL = "http://localhost:8080"
}
production {
grails.logging.jul.usebridge = false
grails.serverURL = "http://myapp.example.io"
}
}
此外,您不需要为run-app指定环境development
,默认环境是开发,因此只需grails run-app
即可。