39695
HerokuでJavaServletで作成したプロジェクトをアップロードしたのですが,ブラウザから閲覧しようとしたところ『Application
error』という表示が出てWebアプリが実行されません.

Heroku管理画面のActivityを見るとビルドとデプロイには成功しているようです.

```

    -----> Gradle app detected
    -----> Installing OpenJDK 1.8... done
    -----> Building Gradle app...
    -----> executing ./gradlew stage
       :clean UP-TO-DATE
       :copyToLib
       :compileJava
       :processResources NO-SOURCE
       :classes
       :war
       :stage
    
       BUILD SUCCESSFUL in 15s
       4 actionable tasks: 3 executed, 1 up-to-date
    -----> Discovering process types
       Procfile declares types -> web
    -----> Compressing...
       Done: 76.5M
       -----> Launching...
       Released v20
       https://rocky-sands-26639.herokuapp.com/ deployed to Heroku
    
```

Macのターミナルの

```

    $heroku logs
    
```

で確かめてみたところ以下のエラーメッセージを確認できました.どうすれば,このエラーを解決できますか？

```

    Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
    
```

こちらのサイトに書かれている情報に基づいた手順で,Webアプリをデプロイしています.参考サイトではmavenを使用していますが,ソースコードではgradleを使用しています.  
<https://devcenter.heroku.com/articles/deploying-gradle-apps-on-heroku#using-
webapp-runner-to-deploy-war-files>

ソースコード  
<https://github.com/fruitwater/heroku-servlet-gradle>
CC BY-SA 3.0
2017-11-09T11:25:07.560
39462
2017-11-19T14:27:07.103
26128
question
java heroku gradle servlet
Herokuにgradleを使用したJavaServletアプリをデプロイしたが,実行時にエラーが出ます
英語版のStackOverFlowで同じ質問をしたところ解決しました。  
<https://stackoverflow.com/questions/47237040/javaservlet-project-with-gradle-
on-heroku-didnt-run>

まずは、Procfileへ `--port $PORT` を加えて、次のようにします。

```

    web: java -jar build/server/webapp-runner-*.jar --port $PORT build/libs/*.war
    
```

その後、コマンドに入力時に `heroku ps:scale web=0` としていたところを  
`heroku ps:scale web=1` に変更したところ解決しました。
CC BY-SA 3.0
2017-11-19T14:27:07.103
39695
2017-11-19T14:27:07.103
26128
39462
answer