在Heroku上部署Gradle项目

时间:2018-10-12 14:27:08

标签: java gradle heroku

问题是我在运行项目后将项目部署到Heroku上

heroku local web

它将显示以下内容

C:\Users\Richer\OneDrive\Project>heroku local web
5:22:24 PM web.1 |  Error: Could not find or load main class $JAVA_OPTS
[DONE] Killing all processes with signal  SIGINT
5:22:25 PM web.1 Exited with exit code null

如果我跑步

heroku ps

外壳将显示

C:\Users\Richer\OneDrive\Project>heroku ps
Free dyno hours quota remaining this month: 549h 21m (99%)
Free dyno usage for this app: 0h 0m (0%)
For more information on dyno sleeping and how to upgrade, see:https://devcenter.heroku.com/articles/dyno-sleeping

=== web (Free): java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/*.jar (1)
web.1: crashed 2018/10/12 17:22:22 +0300 (~ 14m ago)

我的Procfile看起来像这样

web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/*.jar

如果有帮助,我应该在src / main / java文件夹中有两个Java类,并且在多次尝试上传和调整项目后,我还构建了一个jar文件,其位置在out / artifacts / 1_jar中/1.jar,但这没有帮助。 那我该怎么办?

此外,要成功构建项目,我必须将这3个字符串放入here

所描述的build.gradle中。
ask stage(dependsOn: ['build', 'clean'])
build.mustRunAfter clean
heroku config:set GRADLE_TASK="build"

1 个答案:

答案 0 :(得分:0)

在Windows上,环境变量与$表示法一起使用。您需要创建另一个名为Procfile.windows的文件,其内容为:

web: java -Dserver.port=%PORT% %JAVA_OPTS% -jar build\libs\*.jar

然后运行heroku local web -f Procfile.windows

但是将$留给使用Linux的Heroku。