在不保留gradlew文件的情况下部署在heroku上

问题描述 投票:0回答:1

我正在使用Gradle构建一个演示Spring Boot应用程序并使用Heroku来托管应用程序。我已经预装了Gradle 4.8,所以我没有在项目目录中保存gradlew文件,并且应用程序在本地运行正常,但是当我使用git push heroku master在heroku上部署它时。显示以下警告的日志:

remote: -----> Installing Gradle Wrapper...
remote:        WARNING: Your application does not have it's own gradlew file.
remote:        We'll install one for you, but this is a deprecated feature and
remote:        in the future may not be supported.
remote: -----> Building Gradle app...
remote: -----> executing ./gradlew build -x test

显示Gradle版本错误后,构建失败:

remote:        * What went wrong:
remote:        A problem occurred evaluating root project 'xxx'.
remote:        > Spring Boot plugin requires Gradle 4.0 or later. The current version is Gradle 2.0

意味着它使用默认的gradle文件和安装2.0来部署应用程序。

现在我的问题是,我如何强制Heroku部署过程使用预先安装的Gradle版本而不保留项目目录中的gradlew而不安装它的默认弃用gradlew

java spring-boot gradle heroku
1个回答
0
投票

Heroku Gradle buildpack不支持在没有gradlew文件的情况下使用Gradle版本> 2.x.这与official Gradle recommendation一致。

但是,你可以分叉Heroku Gradle buildpack并编辑default wrapper, which installs Gradle。然后,您可以将fork设置为Heroku应用程序上的自定义buildpack。

© www.soinside.com 2019 - 2024. All rights reserved.