目的
ローカルにいろいろなバージョンのLibertyを導入したくないので、LibertyはDockerで動かしながらEclipseで開発をしたい。その環境を作る方法を書きます。
DockerでLibertyを起動
Dockerやgitのインストールは省略します。
PATHにdocker コマンドが含まれているかを確認します。EclipseからPATH指定なく使えるようにします。
C:\Users\k_oi>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;
C:\Users\k_oi>dir "c:\Program Files\Docker\Docker\resources\bin\docker.exe
ドライブ C のボリューム ラベルは OS です
ボリューム シリアル番号は B2CF-84F6 です
c:\Program Files\Docker\Docker\resources\bin のディレクトリ
2022/02/13 22:53 62,494,072 docker.exe
1 個のファイル 62,494,072 バイト
0 個のディレクトリ 117,163,433,984 バイトの空き領域
設定されていなかった場合はシステムのプロパティで環境変数(N)... でPATH変数に docker.exe を含むPATHを追加します。
git repository をクローンして、docker build 、contianerを開始します。
$ git clone https://github.com/pdprof/servlet.git
Cloning into 'servlet'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (24/24), done.
remote: Total 32 (delta 0), reused 29 (delta 0), pack-reused 0
Unpacking objects: 100% (32/32), 6.52 KiB | 11.00 KiB/s, done.
$ cd servlet/servlet-docker
$ ./setup-docker.sh
...
$ docker run -d --name servlet -p 9080-9444:9080-9444 servlet
Eclipse 導入
以下からインストーラーを落とします。
インストーラーを起動したら Eclipse IDE for Enterprise Java and Web Developers で導入します。
導入が終わったら Eclipseを起動して、Help > Eclipse Marketplace を選択します。
IBM Liberty Developer Tools 21.0.0.9 (その時の最新を選びます)を Install します。
WebSphere Application Server Liberty Docker Tools を忘れないでチェックします。
導入が終わったら再起動になります。
Eclipseにプロジェクトインポート
git clone したディレクトリにある Dynamic Web Project: hello をインポートします。Eclipseで File > Import のメニューを選んで、General > Projects from Folder or Archive で Next にします。
Import source に hello のディレクトリを選択して Folder の hello にチェックを入れます。Finish を押せば Import できます。
Eclipseでサーバー追加
Serversビューで No servers are available. Click this link to create a new server.. をクリックします。
Define a New Server で IBM > Liberty Server を選び server name: を入力します。ここでは defaultServer にしました。
Libertyを Install from an archive or a repository を選んで新規導入します。導入済みの場合は existing installation で Path: を指定します。
Download するイメージを選択して導入します。コンパイルで必要なだけで実際に動かすのは docker上であるためそこまで重要ではありません。feature多めのパッケージを選んでおきます。
ライセンスの Accept をして Serverの追加になったら
- Server in a Docker contianaer をクリック
- Container name: servlet (起動したもの)
- User name: wsadmin
- Password: passw0rd
を指定して verify をクリックします。証明書を受け入れるかの画面では受け入れをして、問題なければ Finish で完了にします。
container の再作成をするかを聞かれるので再作成をしておきます。docker ps で確認できるコンテナーに別のものが作成されます。
hello プロジェクトのテスト
hello プロジェクトの Servlets > pdprof.hello.Hello を右クリックして、Run As > Run on Server で サーバーを選んで Finish にします。
hello プロジェクトは デフォルトポートではなく 9081 になっているので "コンテキスト・ルートが見つかりません" がでたら
にアクセスして動作を確認します。