IBM Bluemix 上には様々な言語環境のランタイムが用意されています。その中には Java アプリケーションサーバーも含まれています。

この Bluemix 上の Java ランタイムは "Liberty for Java" と呼ばれていて、IBM Java が提供されています。デフォルトでは Java7 環境が提供されます。
2015071300


この辺りの話は以前のブログエントリでも話題にしたことがありました。で、Java8 を使いたい場合はビルドパックを使って・・・という方法を紹介しました。詳しくはこちらを参照ください:
Bluemix の Liberty Java の JDK バージョン


ところが、比較的最近のアップデートにおいて Bluemix 標準の Java ランタイムが Java8 対応していたことを知りました。標準で提供される環境が Java7 であることは以前のままです。Java8 に変更するための手続きが必要になることには変わりませんが、ビルドパックを指定する場合と比べてかなり楽になりました。 以下、その手順を紹介します。

まずは Bluemix で普通に Java ランタイムのサーバーインスタンスを作ります(アプリケーション名は dotnsf-java とします)。

次に cf コマンドラインツールを使って、このアプリケーションの設定を変更します。具体的には以下の様なコマンドを指定して入力します:
> cf login -a https://api.ng.bluemix.net/

(メールアドレスとパスワードを入力してログイン) > cf set-env dotnsf-java JBP_CONFIG_IBMJDK "version: 1.8.+" Setting env variable 'JBP_CONFIG_IBMJDK' to 'version: 1.8.+' for app dotnsf-java in org dotnsf@jp.ibm.com / space dev as dotnsf@jp.ibm.com... OK TIP: Use 'cf restage' to ensure your env variable changes take effect > cf restage dotnsf-java

これで dotnsf-java アプリケーションの Java ランタイムは Java8 環境になりました。後は普通に(.war ファイルを指定して)プッシュするだけです:
> cf push dotnsf-java -p dotnsf-java.war

Bluemix ではもうビルドパックを探して指定しなくても Java8 が使えるようになりました。


(参考にしたページ)
Liberty Buildpack Updates: Java 8, Java EE 7 updates, and more!