Search code examples
javamavenherokuwar

How to deploy war file to heroku using maven?


I'm trying to deploy my application to heroku using maven plugin. But as deployment seems completed with success, application is not running.

After i run heroku:deploy-war goal, i have this in my console

[INFO] -----> Packaging application...
[INFO]        - app: fast-tundra-46883
[INFO]        - including: target/dependency/webapp-runner.jar
[INFO]        - including: target/spring-simple-app-web-0.0.1-SNAPSHOT.war
[INFO] -----> Creating build...
[INFO]        - file: target/heroku/slug.tgz
[INFO]        - size: 13MB
[INFO] -----> Uploading build...
Sep 19, 2016 11:36:54 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (java.net.SocketException) caught when processing request to {s}->https://s3-external-1.amazonaws.com:443: Connection reset by peer: socket write error
Sep 19, 2016 11:36:54 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {s}->https://s3-external-1.amazonaws.com:443
Sep 19, 2016 11:37:15 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (java.net.SocketException) caught when processing request to {s}->https://s3-external-1.amazonaws.com:443: Software caused connection abort: socket write error
Sep 19, 2016 11:37:15 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {s}->https://s3-external-1.amazonaws.com:443
[INFO]        - success
[INFO] -----> Deploying...
[INFO] remote: 
[INFO] remote: -----> heroku-maven-plugin app detected
[INFO] remote: -----> Installing OpenJDK 1.8... done
[INFO] remote: -----> Discovering process types
[INFO] remote:        Procfile declares types -> web
[INFO] remote: 
[INFO] remote: -----> Compressing...
[INFO] remote:        Done: 61M
[INFO] remote: -----> Launching...
[INFO] remote:        Released v8
[INFO] remote:        https://fast-tundra-46883.herokuapp.com/ deployed to Heroku
[INFO] remote: 
[INFO] -----> Done
[INFO] -----------

which indicates there are no any major errors.

When i look at the logs in heroku, i got

2016-09-19T22:41:51.185261+00:00 heroku[api]: Deploy null by userxxx@gmail.com
2016-09-19T22:41:51.185261+00:00 heroku[api]: Release v8 created by userxxx@gmail.com
2016-09-19T22:41:51.990503+00:00 heroku[slug-compiler]: Slug compilation started
2016-09-19T22:41:51.990512+00:00 heroku[slug-compiler]: Slug compilation finished

which again not indicate any error. but when i navigate to address where my application suppose to run, in heroku i got logs

2016-09-19T22:49:17.825115+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=fast-tundra-46883.herokuapp.com  request_id=4851381b-0fab-49dc-a1a6-d5ebfcad1a97 fwd="79.71.253.17" dyno= connect= service= status=503 bytes=

2016-09-19T22:49:17.825115+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=fast-tundra-46883.herokuapp.com request_id=4851381b-0fab-49dc-a1a6-d5ebfcad1a97 fwd="79.71.253.17" dyno= connect= service= status=503 bytes=
2016-09-19T22:49:17.976534+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=fast-tundra-46883.herokuapp.com request_id=e0a1fc84-6daa-4e1f-a58d-eaf579e170d6 fwd="79.71.253.17" dyno= connect= service= status=503 bytes=

now I'm using heroiku maven plugin, and this how it is configured

<plugin>
    <groupId>com.heroku.sdk</groupId>
    <artifactId>heroku-maven-plugin</artifactId>
    <version>1.1.1</version>
    <configuration>
        <appName>fast-tundra-46883</appName>
    </configuration>
</plugin>

I tried to use <processTypes></processTypes> as I don't have a Procfile. but during build i got warning

[WARNING] The <processTypes> value will be ignored when deploying a WAR file. Use `heroku:deploy` goal for custom processes.

And it doesn't change anything.

Can someone help me and tell me what i'm doing wrong? Regards


Solution

  • Try running:

    $ heroku ps:scale web=1
    

    I think your dyno might be alseep. You can check it's status by running:

    $ heroku ps
    

    However, the java.net.SocketException during the deployment process is concerning. But it does look like there was a successful deploy.