【问题标题】:Deploying Gradle project on Heroku在 Heroku 上部署 Gradle 项目
【发布时间】:2019-03-17 19:28:30
【问题描述】:

问题是我在运行后将项目部署在 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 个字符串放入 build.gradle 中,正如 here 所描述的那样

ask stage(dependsOn: ['build', 'clean'])
build.mustRunAfter clean
heroku config:set GRADLE_TASK="build"

【问题讨论】:

    标签: java gradle heroku


    【解决方案1】:

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

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

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

    但将 $ 留给使用 Linux 的 Heroku。

    【讨论】:

    • 你的 Procfile.windows 说 'web: web:',但我认为它应该只是 'web:'。
    猜你喜欢
    • 2021-10-17
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2015-09-29
    • 2016-08-28
    • 2017-09-30
    • 2015-09-15
    相关资源
    最近更新 更多