EclipseとWebSphere Libertyを使ったWebアプリケーション開発環境構築

※自分用のメモも兼ねています

 

1.Eclipseをインストール

Pleiades All in Oneダウンロードを使ってFull Editionを取得(ゆとりとか言うのはNG)

https://mergedoc.osdn.jp/

f:id:JunKobayashi:20200325172011p:plain

Fig. 1 Pleiadesを利用しEclipseを取得

f:id:JunKobayashi:20200325172119p:plain

Fig. 2 各人のOSに合わせて取得(私は64bit Windows)

 

Eclipseをインストールし画面の色だのフォントだのの設定をお好みに整える。

 

2.WebSphere Libertyパッケージのダウンロード

参考リンク1)の記事のリンク( https://www.ibm.com/support/pages/node/587599 )からwlp-javaee7-16.0.0.3.zipをダウンロードして解凍(IBMアカウントを持っている必要があるためなければ新規作成する)。ちなみにディレクトリ構造は参考リンク2)の記事を参考にして作成した。

f:id:JunKobayashi:20200325172720p:plain

Fig. 3 WebSphere Libertyのダウンロード

 

3.Eclipseマーケットプレースで関連ツールをインストール

マーケットプレースで以下の追加プラグインをインストール(これらのインストール後Eclipseを再起動)

  • IBM Lberty Developer Tools 20.0.0.3
  • IBM WebSphere Application Server Liberty Developer Tools Beta 20.0.0.3

f:id:JunKobayashi:20200325173252p:plain

Fig. 4 WebSphere Liberty 関連ツールをインストール

 

 

4.ランタイム環境の構成

Runtime Explorerビューを開き右クリック→新規→ランタイム環境で新規ランタイム環境を作成する。Choose an existing installationから[ダウンロード後に解凍したwlpバージョン名]\wlpを指定し、他の設定はデフォルトのままにした。

f:id:JunKobayashi:20200325173825p:plain

Fig. 5 新規Libertyランタイム環境作成

 

5.新規Libertyサーバーの構築

サーバービューを開きLiberty Runtimeを右クリック→新規→Liberty Serverをクリックし新規Libertyサーバーを作成(設定はサーバー名をTestServerにした以外は全てデフォルト)。

f:id:JunKobayashi:20200325174223p:plain

Fig. 6 新規Libertyサーバー作成

 

f:id:JunKobayashi:20200325192937p:plain

Fig. 7 新規サーバー設定

 

6.テスト

参考リンク1)の記事に従って動的Webプロジェクト(Sample02)を作り、それをTestServerに乗せ(サーバービューでTestServerを右クリック→追加および除去から可能)サーバー起動。すると以下のようにコンソールログが文字化けしていたのとNoClassDefFoundErrorによりサーバー起動に失敗した。

f:id:JunKobayashi:20200325193418p:plain

Fig. 8 サーバー起動失敗時のコンソール

 

7.サーバーログ文字化け解決

参考リンク3)に倣い、wlp\usr\servers\TestServerに、以下の内容を記述したjvm.optionsを配置した(Windowsでは文字コード設定がデフォルトではSJISに指定されているため発生するらしい)。

 

-Dfile.encoding=UTF-8

 

 

8.追加プラグインをインストールしサーバー起動失敗の解決

マーケットプレイスから追加でIBM WebSphere Application Server V8.5x Developer Tools 20.0.0.3をインストールした。

f:id:JunKobayashi:20200325194117p:plain

Fig. 9 IBM WebSphere Application Server V8.5x Developer Tools のインストール

また、Sample02プロジェクトを右クリック→プロパティからプロジェクトファセット、ビルド・パス、コンパイラー準拠レベル、およびウインドウ→設定→Java→インストール済みのJREの各項目を全てJava8準拠のものに設定変更した(私のインストールしたEclipse 2019ではこれらの設定がデフォルトでJava11準拠のものであった)

f:id:JunKobayashi:20200325194547p:plain

Fig. 10 プロジェクトファセットにてJavaを1.8に設定

f:id:JunKobayashi:20200325194633p:plain

Fig. 11 ビルド・パスの設定にてJava8に設定

f:id:JunKobayashi:20200325194723p:plain

Fig. 12 コンパイラー準拠レベルを1.8に設定

f:id:JunKobayashi:20200325194808p:plain

Fig. 13 インストール済みのJREをJava8に設定

以上の手順を行って、サーバー起動に成功し、クエリパラメータの値に応じた動的なWebページを開くことができることを確認した。

※ほかのWindows10マシンでも同様の手順を踏んだのだがこのプラグインを入れず、Javaバージョン設定を特に変えずとも実行に成功したため正直何が原因だったのか分からない・・・

 

9.サーバー通信におけるセキュリティ設定

マーカービューを見るとLiberty サーバーの構成定義に関する項目で警告が発生していた。

f:id:JunKobayashi:20200325195719p:plain

Fig. 14 Liberty サーバーの構成定義に関する警告

クイックフィックスを利用。server.xmlにkeyStore要素がない(このサーバーと通信する際に特に証明書等必要としないためセキュリティ上の懸念があるということ?)のがよろしくないため設定を行う。

f:id:JunKobayashi:20200325200025p:plain

Fig. 15 クイックフィックスのウインドウ(右下の完了を押す)

f:id:JunKobayashi:20200325200113p:plain

Fig. 16 keyStore設定ウインドウ(設定を押す)

この後の画面でパスワードを設定(エンコードはデフォルトのxorのまま、キーは空欄のままで完了を押しdefaultKeyStoreとなった)。server.xmlに以下のように追記される。参考リンク4)を参照されたし。

 

<keyStore id="defaultKeyStore" password="{xor}XXXXXXXXXXXXXXX"/>

 

この状態でもう一度サーバー起動、動的Webページの表示が可能であることを確認し、環境構築手順を完了したと判断した。
 

参考リンク

  1. https://qiita.com/tomotagwork/items/ef1c1ebc5efa2a8935d9 (WebSphere Liberty for Windows 開発環境整備手順 - Qiita
  2. https://www.ibm.com/developerworks/jp/websphere/library/was/liberty_devenv_install/ (WebSphere LibertyのJava EEローカル開発環境のインストール
  3. https://qiita.com/asmanabu/items/a95dec97aabddd69acd8 (Bluemix Liberty for Javaの開発環境を整える(1/3) - Qiita
  4. https://qiita.com/tomotagwork/items/3a63ac7955d053a4feb4 (LibertyによるWebサービスアプリ開発メモ: (1)環境構築 - Qiita