我正在用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
?
答案 0 :(得分:0)
在没有gradlew
文件的情况下,Heroku Gradle buildpack不支持使用Gradle版本>2.x。这与official Gradle recommendation一致。
但是,您可以派生Heroku Gradle buildpack并编辑default wrapper, which installs Gradle。然后,您可以在Heroku应用程序上将fork设置为自定义buildpack。