Bluemix Liberty for Javaの開発環境を整える（1/3）

# はじめに
BluemixのランタイムとしてLiberty for Javaを使用するための、開発環境の準備について記載します。
ローカルPCでWebSphere Application Server Liberty Profile（WAS Liberty）を稼働させ、ローカルPCで稼働確認したものをBluemixにPushすることを想定して記載します。

本内容は、以下の3回に分けて投稿する予定です。今回は、第1回目の「EclipseのセットアップとWAS Libertyの導入」です。

 1. [EclipseのセットアップとWAS Libertyの導入](http://qiita.com/asmanabu/items/a95dec97aabddd69acd8)
 2. [シンプルなJSPとServletのプログラムの開発](http://qiita.com/asmanabu/items/7d157b326175e4f58b17)
 3. [データベースサービスを利用するプログラムの開発](http://qiita.com/asmanabu/items/6d44803c38e3769bb42f)

# 前提
以下の内容が完了しているものとして記載します。

 * IBM Bluemixのアカウント取得
  * アカウント未取得の方は、[「IBM Bluemixフリートライアルアカウント作成手順」](http://qiita.com/KenichiSekine/items/6ad49b25167b3f4cdb63)を参考に、フリートライアル用アカウントを取得ください
 * Eclipse IDE for Java EE Developersのダウンロード
  * 今回は、Eclipse Neonを利用します
  * Eclipseのダウンロードは[こちら](https://eclipse.org/downloads/)から
 * Java JDK 1.8のインストール
  * Liberty for Javaが使用するバージョンに合わせ、JDK 1.8を使用します

# Eclipseのセットアップ
## IBM Eclipse Tools for Bluemixの導入
Eclipse Marketplaceから、「IBM Eclipse Tools for Bluemix for Neon」を導入します。

Eclipseのメニューより、「Help」→「Eclipse Marketplace...」を選択します。
![eclipse-01.png](https://qiita-image-store.s3.amazonaws.com/0/73397/c660f5d7-ac92-6e67-7a73-c72797c460ee.png "eclipse-01.png")

Findに「Bluemix」と入力し、「Go」をクリックします。
![eclipse-02.png](https://qiita-image-store.s3.amazonaws.com/0/73397/46f54001-b583-4824-a643-1a12e211df87.png "eclipse-02.png")

「IBM Eclipse Tools for Bluemix for Neon」が表示されますので、「Install」をクリックします。
![eclipse-03.png](https://qiita-image-store.s3.amazonaws.com/0/73397/0d8efb44-9b70-67d4-1b3b-ea6c77dd4b07.png "eclipse-03.png")

インストールされるフィーチャーが表示されます。内容を確認して、「Confirm」をクリックします。
ここでは、Bluemixのプラグインである「IBM Bluemix Tools」の他に、WAS Libertyの設定を変更したりするためのツールである「WebSphere Application Server Liberty Profile Tools」も同時に導入されます。実際のプログラム開発の際に、このツールを使ってWAS Libertyの設定を実施し、ローカルでWebアプリケーションを稼働させます。
![eclipse-04.png](https://qiita-image-store.s3.amazonaws.com/0/73397/042f7602-023d-1470-12fa-80bb3bcb24ad.png "eclipse-04.png")

ライセンスを確認した上で、「I accept the terms of the license agreements」を選択し、「Finish」をクリックします。
![eclipse-05.png](https://qiita-image-store.s3.amazonaws.com/0/73397/edc075b7-e544-88a2-0c85-566dc3ed35bb.png "eclipse-05.png")

導入が終わると、Eclipseの再起動を求められるため、「Yes」をクリックして再起動します。
![eclipse-06.png](https://qiita-image-store.s3.amazonaws.com/0/73397/ed3eee65-6633-9170-177d-2fa1d17c45d6.png "eclipse-06.png")

## 文字コードの修正
Eclipseで使用する文字コードをUTF−8に変更します。
Eclipseのメニューより、「Window」→「Preferences」を選択します。
![eclipse-07.png](https://qiita-image-store.s3.amazonaws.com/0/73397/1ecbfb3b-ebf4-8caa-b81c-e7db437c730a.png "eclipse-07.png")

「General」→「Workspace」にある、「Text file encoding」を「Other」にし、「UTF-8」を選択し、「OK」をクリックします。
![eclipse-08.png](https://qiita-image-store.s3.amazonaws.com/0/73397/4e77c2ea-8063-dc7a-1db0-3898d64da320.png "eclipse-08.png")

# WAS Libertyの導入
## Eclipseでのサーバー作成とWAS Libertyの導入
WAS Libertyを導入し、Webアプリケーション・サーバーを作成します。

Java EEパースペクティブを開いていることを確認してください。別のパースペクティブになっている場合は、下図の青色の枠内のボタンをクリックして、Java EEパースペクティブを開きます。
続いて、Serversタブを選択し、「Clieck this link to create a new server...」をクリックします。
（すでに別のサーバーを作成している方は、Serversタブ内のスペースを右クリックし、「New」→「Server」を選択してください。）
![Liberty-01.png](https://qiita-image-store.s3.amazonaws.com/0/73397/95997a6a-d68b-dc62-1e9a-89f55dc916c3.png "Liberty-01.png")

「IBM」カテゴリー内にある「WebSphere Application Server Liberty」を選択し、「Server's host name:」に「localhost」と入力します。続いて、「Next」をクリックします。
![Liberty-02.png](https://qiita-image-store.s3.amazonaws.com/0/73397/b2f7c17e-d9fb-12a3-d5c0-9d413777b9c2.png "Liberty-02.png")

WAS Libertyの実行環境選択画面になりますが、まだWAS Libertyを導入していないため、選択できません。したがって、「Install from an archive or a repository」を選択し、「Next」をクリックします。
![Liberty-03.png](https://qiita-image-store.s3.amazonaws.com/0/73397/2dce0e40-c1ac-8ca4-ed6f-b7e1b66650d6.png "Liberty-03.png")

インストールに関する情報の入力を求められます。「Enter the destination path:」には、WAS Libertyのインストール先フォルダ名を入力します（ここでは、C:¥IBM¥WebSphere¥Liberty）としています。
続いて、「Download and install a new runtime environment from ibm.com」にチェックを入れ、下に表示されるリストから「WAS Liberty with Java EE 7 Full Platform」を選択し、「Next」をクリックします。
WAS Libertyの種類がいくつか選択できますが、今回はJava EE 7のすべての仕様を使えるように、「Full Platform」を選択します。
![Liberty-04.png](https://qiita-image-store.s3.amazonaws.com/0/73397/9b4aa20f-9870-ffb9-ed26-a871e8b43605.png "Liberty-04.png")

アドオンの選択画面が表示されます。これは、利用するJava EEの仕様やWAS Libertyの管理機能のどの機能を使うかを選択する画面となります。ここで選択しなかった機能も、後から導入することが可能です。
今回は、何も追加せずに先に進めますので、「Next」をクリックします。
![Liberty-05.png](https://qiita-image-store.s3.amazonaws.com/0/73397/2704fa24-0beb-2bf4-864e-baf55b2a777e.png "Liberty-05.png")

ライセンスを確認した上で、「I accept the terms of the license agreements」を選択し、「Next」をクリックします。
![Liberty-06.png](https://qiita-image-store.s3.amazonaws.com/0/73397/af0d96c6-3ad6-3297-54e5-b0a188ce9b74.png "Liberty-06.png")

作成するアプリケーション・サーバーの名前を入力します。デフォルト値の「defaultServer」のままでもよいですが、今後、サーバーを複数台にする可能性もありますので、「server1」に変更しておきます。
「Server name:」の値を「server1」に変更し、「Finish」をクリックします。
![Liberty-07.png](https://qiita-image-store.s3.amazonaws.com/0/73397/3aa361af-48b6-4f94-823b-212c20c77949.png "Liberty-07.png")

WAS Libertyのダウンロードとインストールが開始され、最後にサーバーが作成されますので、処理完了を待ちます。以下のポップアップが表示されれば、WAS Libertyの導入が正常終了となります。
![Liberty-08.png](https://qiita-image-store.s3.amazonaws.com/0/73397/4a4f7edd-5ae8-0b15-0119-5553ce7091ca.png "Liberty-08.png")

## WAS Libertyで扱うファイルの文字コードをUTF-8に変更する
Windowsの場合、文字コードとしてSJISがデフォルトで使用されます。したがって、WAS Libetyが扱うファイルもSJISとなり、ログもSJISで出力されます。通常は、これでも問題ないのですが、先ほどEclipseで使用する文字コードをUTF−8に変更したため、WAS LibertyのサーバーのログがEclipseのコンソールに出力された時に、文字化けするという問題があります。ログファイルはテキストエディタで開くというのは面倒ですので、WAS Libertyが出力するログファイルの文字コードをUTF-8に変更します。

WAS Libertyの導入フォルダの下に、usr¥servers¥server1というフォルダができています（今回の例の場合は、C:¥IBM¥WebSphere¥Liberty¥usr¥servers¥server1）。このフォルダに、先ほどEclipseから作成したサーバーの構成情報が記録されています。
文字コードを変更するためには、WAS Libety起動時のJVMオプションとして、以下を指定します。usr¥servers¥server1の直下に、jvm.optionsというファイルを作成し、その中にJVMオプションを記入することで起動時のオプションとして反映されます。

```jvm.options
-Dfile.encoding=UTF-8
```

# 最後に
以上で、Liberty for Javaを利用するためのEclipseの設定とWAS Libertyの導入は完了です。Bluemixについてはプラグイン以外、まったく出てきませんでしたが、次回の投稿でBluemixのサンプルアプリケーションを作成しますので、少々お待ちください。

（2015/11/20追記）
第2回目の[シンプルなJSPとServletのプログラムの開発](http://qiita.com/asmanabu/items/7d157b326175e4f58b17)を投稿しました。

（2016/01/08 追記）
第3回目の[データベースサービスを利用するプログラムの開発](http://qiita.com/asmanabu/items/6d44803c38e3769bb42f)を投稿しました。

（2016/09/22 追記）
EclipseのバージョンをNeonに修正しました。