Why does my CLI JAR or WAR file deployment fail with an SSLException?
Deploying with the
heroku war:deploy or
heroku jar:deploy commands fails with an error like:
Exception in thread "main" javax.net.ssl.SSLException: Received fatal alert: protocol_version at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979) ...
This error happens because your locally Java environment is trying to connect to the Heroku API with TLS v1.0, which is no longer supported. You'll need to update your local Java Development Kit (JDK) to either Java 8 or a newer build of Java 7.
Oracle has ended its support for Java 7 and no longer provides public updates. However, you can use the open source Zulu distribution from Azul (which is built from OpenJDK) if you wish to remain on Java 7.