Why do I get an UnsupportedClassVersionError for my Java app?

Issue

If you see an error such as java.lang.UnsupportedClassVersionError: play/runsupport/classloader/ApplicationClassLoaderProvider: Unsupported major.minor version 52.0.

Resolution

This is caused by users trying to run a JVM app compiled for one version of the JDK on a another version of the JDK. You can check the version of Java on Heroku by running heroku run java -version. Make sure you are using the correct JDK version by setting it in the system.properties file and make sure this file is committed to Git.