Skip to content
shunter1112 edited this page Aug 16, 2013 · 1 revision

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環境変数が追加されます。

Clone this wiki locally