

Heroku uses this to set default Java options based on dyno size. JAVA_TOOL_OPTIONS is directly supported by Java and intended to augment a command line in environments where the command-line cannot be accessed or modified.

JAVA_OPTS: Default Java options based on dyno size (identical to JAVA_TOOL_OPTIONS).JAVA_TOOL_OPTIONS: Default Java options based on dyno size.See Connecting to Relational Databases on Heroku with Java for more information. JDBC_DATABASE_URL: If a DATABASE_URL variable is present, this will be populated with the converted form.LD_LIBRARY_PATH: With the location of the JDK shared libraries.JAVA_HOME: The location of the JDK install directory.PORT: HTTP port to which the web process should bind.The following environment variables will be set in dyno at boot-time: The maven repo is cached between builds to improve performance. You can override this behavior by explicitly setting a Maven version. However, if Heroku detects a mvnw script in your application’s repository, it will run this instead of the default Maven installation. The following command is run to build your app: $ mvn -B -DskipTests clean dependency:list install When a deployed application is recognized as a Java application, Heroku responds with Java app detected.

Heroku Java support for Maven will be applied to applications that contain a pom.xml.

The default build system for Java application on Heroku is Maven. You can read about Play framework support in the Play framework support reference. General Java support on Heroku refers to the support for all frameworks except for Play. This document describes the general behavior of Heroku as it relates to the recognition and execution of Java applications. Heroku is capable of running Java applications across a variety of Java implementations and includes support for framework-specific workflows.
