LoginSignup
1
0

Eclipseにテスト用のEAR,WARをインポート

Last updated at Posted at 2023-07-13

目的

Githubに用意しているテスト用のEAR,WARをEclipseで使うときの手順を説明します。

環境構築

  • Eclipse, Liberty

Eclipse 環境について (Java, Liberty, JavaScript)

をもとにEclipseとLibertyの環境を準備します。Javascriptの構成はここでは必要ありません。
記事が古いですが、導入するときの最新を入れるようにします。tWASを動かすつもりでなければ問題ありません。

この文書作成時の最新は 2023-06でした。

Eclipse IDE for Enterprise Java and Web Developers

で導入します。

  • Db2

Liberty といろんな DB でDataSourceをためす

を参考に Db2 を docker で起動します。

Gitレポジトリ

ここでは最近のQiita記事で使用している DB関連のレポジトリを使います。
用意したGitレポジトリをクローンします。Db2起動時に cloneしていますが念のため書いておきます。

git clone https://github.com/pdprof/db-connections
cd db-connections/

Db2を起動します。

止めてしまっていた場合は、Db2を起動します。

Eclipseを起動します。

前の記事通りだと、Eclipseを起動してサーバー作成まではできているので、Eclipseも導入できています。目的毎にWorkspaceを分けた方が良いので、新しいWorkspaceを作成してEclipseを起動します。

ここでは

C:/Users/keniooi/eclipse-workspace/db-connection

にします。

JDBC Driverのダウンロード

JDBCドライバをダウンロードします。mavenのレポジトリを利用すると簡単かと思います。
以下はDb2を利用する場合です。

Db2 JCC 11.5.8.0

image.png

Filesの jar からダウンロードできます。EclipseのWorkspaceにコピーしておくと何の目的で配置したものかわかりやすくなります。

server.xml の変更

新しいWorkspaceだとLibertyのサーバーは作成されていませんが、このWorkspaceようにLibertyサーバーを作成します。デフォルトで作成された server.xml を

をもとに書き換えます。環境毎に変更の必要があるのは JDBC DriverのパスとDb2 serverName になります。

C:/Users/keniooi/eclipse-workspace/db-connections にJDBC Driverを配置

<fileset dir="C:/Users/keniooi/eclipse-workspace/db-connections" id="Db2Files" includes="*.jar"/>

Db2のサーバーはlocalhost (この例では変更の必要はありません)

serverName="localhost" portNumber="50000"

それ以外はそのままコピーペーストで問題ありません。もとの server.xml を全置換します。

Workspaceにプロジェクトをインポート

githubにあるEclipseプロジェクトをインポートします。

のディレクトリにプロジェクトがあります。git clone後のディレクトリだと以下の部分です。

git clone https://github.com/pdprof/db-connections
cd db-connections/db.connections

File > Import...
image.png

General > Existing Projects into Workspace
image.png

Copy projects into workspace にチェックを入れて Finishを押す
image.png

ここではGitの更新が目的ではないので、プロジェクトはコピーします。WindowsでFirewallの警告が出た場合は許可します。

db.connections プロジェクトを右クリックし Maven > Upadte project... を選択します。
image.png

その後の画面では、そのままOKを押します。Build Pathなどを調整してクラスのコンパイルが出来ていればXML構成ファイルのエラーなどは無視して問題ありません。

WARを起動してアプリケーションにアクセス

index.jspを選択してサーバーで起動します。

image.png

起動するLibertyとデプロイするWARを選択して Finishボタンを押します。うまくいけば次の画面が出てきます。

image.png

Simple db access test でエラーが出たりする場合は、ホスト名やJDBC Driverのパスを確認します。

トラブルシューティング

運悪くLibrtyのフィーチャー選択がまちがっていると以下のようなエラーが出力されます。

[ERROR   ] CWWKF0042E: webprofile-8.0 フィーチャーのフィーチャー定義が見つかりません。  コマンド bin/installUtility install webprofile-8.0 を実行して、当該フィーチャーをインストールしてください。 あるいは、コマンド bin/installUtility install defaultServer を実行して、この構成で参照されるすべてのフィーチャーをインストールすることもできます。
[ERROR   ] CWWKF0042E: eventlogging-1.0 フィーチャーのフィーチャー定義が見つかりません。  コマンド bin/installUtility install eventlogging-1.0 を実行して、当該フィーチャーをインストールしてください。 あるいは、コマンド bin/installUtility install defaultServer を実行して、この構成で参照されるすべてのフィーチャーをインストールすることもできます。

リバティーをインストールしたディレクトリで

C:\Users\keniooi\wlp\2023-07>set JAVA_HOME=C:\Users\keniooi\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.7.v20230425-1502\jre

C:\Users\keniooi\wlp\2023-07>bin\installUtility install webprofile-8.0

のように必要なフィーチャーを導入して対応します。JAVA_HOMEには、Liberty起動に使われているものをしていすると良いです。不足しているフィーチャーごとに installUtility を実行します。

Windows環境でLibertyのログ出力が文字化けしている場合は、General > Workspace で Text file encoding を Default (windows-31j) に変更します。

image.png

ファイルのエンコードも変わってしまうので、UTF-8のままが良い場合はLibertyのログ出力を英語にするなどして対応します。

まとめ

アプリケーションや環境を一から作成すると大変ですが、動くと分かっている構成から自分がしたい動作に変更するのであれば、それほどの作業の必要なく対応ができます。その手助けになるように文書を書いてみました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0