-
Notifications
You must be signed in to change notification settings - Fork 9
Java support
HerokuのCedarスタックはさまざまなタイプのJavaアプリケーションを動かす事が出来ます。
このドキュメントは、Javaアプリケーションの認識と実行に関係するHerokuのCedarスタックの一般的な振る舞いについて説明をします。一般的なHerokuのJavaのサポートはPlayを除く全てのフレームワークについて言及をしています。PlayフレームワークのサポートについてはPlayフレームワークサポートリファレンスの中で読む事が出来ます。
フレームワークのための詳しいチュートリアルのためには、以下を訪れるといいでしょう :
また java.heroku.comには、あなたのHerokuのアカウントへ直接クローンできるテンプレートとなるアプリケーションがあります。
Heroku上のJavaアプリケーション向けのデフォルトのビルドシステムはMavenです。Maven向けのHerokuのJavaのサポートはpom.xmlを含むアプリケーションに適応されるでしょう。
デプロイされたアプリケーションがJavaのアプリケーションだと認識された際に、Herokuは-----> Java app detected
と返答します。
:::term
$ git push heroku master
-----> Java app detected
あなたのアプリケーションをビルドするために以下のコマンドが実行されます :
:::term
$ mvn -B -DskipTests=true clean install
ローカルのレポジトリはパフォーマンスの向上のためにビルドの中でキャッシュされます。
以下の環境変数は始めのPushのタイミングで設定されます :
-
PATH
: /usr/local/bin:/usr/bin:/bin -
JAVA_OPTS
: -Xmx384m -Xss512k -XX:+UseCompressedOops -
MAVEN_OPTS
: -Xmx384m -Xss512k -XX:+UseCompressedOops -
PORT
: WebプロセスがバインドされるHTTPポート -
DATABASE_URL
: データベース接続用URL
Herokuは現在アプリケーションを走らせるためにOpenJDKを使用しています。OpenJDKのバージョンは、system.properties
ファイルを使って、バージョン6と7を使う事が出来ます。ラムダ関数のあるOpenJDKの8もプレビューとして利用可能です。更なる情報のためにJava Tutorialsを確認してください。
Javaアプリケーションは、デフォルトで一つもWeb
プロセスタイプが定義されません。Procfile
を設定するための情報を得るためにJavaチュートリアル集の中から1つ確認してみてください。
あなたのアプリケーションが使うJDKはSlugの中に含まれ、このことはSlugのサイズに影響します。
PostgresデータベースはJavaアプリケーション向けにも自動的に準備されます。これにより、DATABASE_URL環境変数が追加されます。