Gradle构建脚本中配置quarkus.native.container-build不生效问题求助
各位好,我最近在尝试用Gradle构建Quarkus原生可执行文件时碰到了个棘手的问题,按照Quarkus相关文档的说明,应该可以在build.gradle.kts里配置让构建过程在Docker容器内完成,但我配置后完全没效果,构建依旧在本地执行,结果因为本地没配置好GraalVM环境直接报错了,想请教下大家我是不是哪里操作错了?
问题重现步骤:
- 创建标准的Quarkus REST模板项目
- 在
build.gradle.kts中添加如下配置块:
tasks.quarkusBuild { nativeArgs { "container-build" to true } }
- 在项目根目录执行构建命令:
./gradlew build "-Dquarkus.native.enabled=true"
预期结果
构建过程应该在Docker容器内运行,和在application.properties中设置quarkus.native.container-build=true,或是在命令行直接传递该参数的效果一致。
实际结果
构建仍然在本地环境执行,并且因为本地未配置原生构建所需环境抛出了以下错误:
Execution failed for task ':quarkusAppPartsBuild'.
There was a failure while executing work items
A failure occurred while executing io.quarkus.gradle.tasks.worker.BuildWorker
io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.RuntimeException: Cannot find thenative-image.cmdin the GRAALVM_HOME, JAVA_HOME and System PATH.
想问下大家,我是不是漏了什么配置项?还是说通过nativeArgs设置quarkus.native.container-build这种方式本身就不生效呢?
内容来源于stack exchange

