Grails 3在生产环境中使用Gradle构建

Grails 3在生产环境中使用Gradle构建,grails,gradle,Grails,Gradle,我正在使用Gradle构建Grails3.0.9项目。但它总是建立在开发模式中。我没有在官方文档中找到任何内容,尝试了“gradle-Pgrails.env=prod build”,但仍然失败。您尝试的-p参数是项目属性,而-D参数是传递给JVM()的系统属性 我相当肯定在这种情况下,这个命令应该起作用: gradle -Dgrails.env=prod build 我没有使用它,但它看起来像是一个单独的插件,有另一个值得尝试的语法: gradle -PgrailsEnv=prod build

我正在使用Gradle构建Grails3.0.9项目。但它总是建立在开发模式中。我没有在官方文档中找到任何内容,尝试了“gradle-Pgrails.env=prod build”,但仍然失败。

您尝试的
-p
参数是项目属性,而
-D
参数是传递给JVM()的系统属性

我相当肯定在这种情况下,这个命令应该起作用:

gradle -Dgrails.env=prod build
我没有使用它,但它看起来像是一个单独的插件,有另一个值得尝试的语法:

gradle -PgrailsEnv=prod build

嗯,这不是我所经历的

看一看(注意下面日志的最后一个字):

一些噪音线被切断,使它变短


不过它是Grails3.1.10。也许是一个bug修复。

您能提供更多关于Grails如何失败(例如stacktrace)的详细信息吗?它没有失败。它只是在开发环境中构建的。当我想在PRODUCTIONYes中使用它时,Grails2有一个旧的GrailGradle插件。但真正有趣的是。我尝试了'gradle-Dgrails.env=prod'-它与'run'命令的预期效果一样。但是“build”仍然是在开发中构建的,也许我应该将它导出到Tomcat的setenv.sh中的JAVA_OPTS中,在那里我实际运行grails?我稍后再回答
$ ./gradlew clean build && java -jar build/libs/foo-0.1.war
:clean
:compileJava UP-TO-DATE
:compileGroovy
:buildProperties
:processResources
:classes
:compileTestJava UP-TO-DATE
:compileTestGroovy UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:compileIntegrationTestJava UP-TO-DATE
:compileIntegrationTestGroovy UP-TO-DATE
:findMainClass
:assetCompile
:compileWebappGroovyPages UP-TO-DATE
:compileGroovyPages
:war
:bootRepackage
:assemble
:test UP-TO-DATE
:processIntegrationTestResources UP-TO-DATE
:integrationTestClasses UP-TO-DATE
:integrationTest UP-TO-DATE
:mergeTestReports UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

Total time: 9.873 secs
Grails application running at http://localhost:8080 in environment: production