首页 文章

如何在heroku部署中显示gradle stacktrace?

提问于
浏览
0

我正在尝试将gradle Java应用程序部署到heroku(基于jhipster) . 我可以使用“heroku local”在本地构建和运行它,但是当我尝试远程部署它时,在尝试构建应用程序时(执行./gradlew阶段时)会出现错误 . 错误是:

...
remote:        Download https://oss.sonatype.org/content/repositories/releases/org/mapstruct/mapstruct-processor/1.0.0.CR1/mapstruct-processor-1.0.0.CR1.pom
remote:        Download https://oss.sonatype.org/content/repositories/releases/org/mapstruct/mapstruct-processor/1.0.0.CR1/mapstruct-processor-1.0.0.CR1.jar
remote:        :bower FAILED

remote:        FAILURE: Build failed with an exception.
remote:        
remote:        * What went wrong:
remote:        Execution failed for task ':bower'.
remote:        > A problem occurred starting process 'command 'bower''
remote:        
remote:        * Try:
remote:        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
remote:        
remote:        BUILD FAILED

我想如果我能看到堆栈跟踪它可能会澄清问题,但我不知道如何将命令行参数(--stacktrace)传递给heroku远程服务器上的gradle构建 . 我会尝试用(heroku run bash)手动尝试但是我不能,因为这是第一次部署,而且dyno上还没有代码 .

2 回答

  • 3

    此错误表示 bower 命令不可用 . 要将其添加到构建中,您需要通过运行以下命令将Node.js buildpack添加到您的应用程序:

    $ heroku buildpacks:clear
    $ heroku buildpacks:add heroku/nodejs
    $ heroku buildpacks:add heroku/gradle
    

    这将首先运行Node.js buildpack(在您 git push 之后),这将在 package.json 中安装节点和任何依赖项 . 然后它将运行Gradle buildpack .

    您可能需要配置其他一些东西,我有一个blog post on doing this with Maven . 但总的来说,同样的原则适用于Gradle .

  • 2

    您也可以使用heroku deploy plugin部署到Heroku .

    ./gradlew clean -Pprod bootRepackage -x test
    heroku deploy:jar --jar build/libs/*.war
    

相关问题