5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM BobでLiberty Toolsを使用する

Last updated at Posted at 2026-01-16

Liberty ToolsをIBM Bobで利用する際に注意点やポイントがあったため、備忘録として記録します。

本記事の内容は 2026年1月16日時点の機能に基づいています。
今後、機能や仕様が変更される可能性があります。

Liberty Toolsとは?

Liberty Tools は、Eclipse / VS Code / IntelliJ 上でOpen Liberty / WebSphere Liberty の開発を支援するツールです。

ワークスペース内の Liberty Maven/Gradle プロジェクトを自動検出し、IDE内の専用ビュー(ダッシュボード/ツールウィンドウ)からコマンドで管理できます。
また、MicroProfile / Jakarta EE / Liberty設定ファイルおよびJavaファイルに対して、補完・ホバー説明・診断などの言語サポートを提供します。

BobへのLiberty Toolsインストール

Liberty ToolsがVSCode拡張として公開されているMarketplaceは公式配布のVisual Studio Codeでのみ利用できることになっています。

IBM Bob上の拡張機能メニューはOpen VSX Registryを参照していますが、2026/01/16現在、Liberty ToolsはOpen VSX Registryに公開されていないため、BobでLiberty Toolsを有効化するにはVSIXファイルを手動でインストールする必要があります。

手順は非常に簡単です。

まずはこちらからVSIXファイルをダウンロードします。
https://github.com/OpenLiberty/liberty-tools-vscode/releases

IBM Bobの画面で、拡張機能→VSIXからのインストールを選択し、先ほどダウンロードしたVSIXファイルをインストールします。
image.png

無事にインストールできたことを確認します(ソース:VSIXとなっています)。
image.png

Liberty ToolsをBobで使用する際の注意点

Liberty Toolsを使用するとIDE上から簡単にサーバーの起動や停止を行うことができます。

image.png

ただし、Bobがコマンドを実行する際に使用するターミナルは上記の操作で利用するターミナルとは別物のため、複数のターミナルで同じサーバーを同時実行しようとするとポートの競合エラーが発生します。

人の手でコーディングする際はLiberty Tools、AIとコーディングする際はBobという形で完全に切り分けて使う形でも良いですが、今回はハイブリッドな運用を想定して、以下のようなBobの機能を使用することでこういった衝突を回避してみました。

.bobによるルールの設定

IBM Bobではプロジェクトでの作業において適用してほしいルールを.bobディレクトリ配下に配置することで定義できます。

今回は.bob/rules/liberty-tools.mdとして以下のmdファイルを追加しました。

- このプロジェクトでは、OpenLibertyを使用したJavaアプリケーションをBobとLiberty Toolsを併用して開発します。
- Codeモードで実装を行う際には、作成したアプリが問題なく動作するかどうかを`mvn liberty:dev`で確認してください。
  - 動作の確認が完了したら、必ずDev modeを停止してください。
- `mvn clean package`のような、@/target配下のフォルダを変更するコマンドや、`mvn liberty:dev`のようなサーバーの起動・停止に関するコマンドを実行したい場合には、ユーザーがLiberty Dev Modeを実行しているかどうかを以下のコマンドで確認してください。
  - `ps -axo pid,command -ww | grep -E '([l]iberty:dev|io\.openliberty\.tools:liberty-maven-plugin:dev)'`
- テストの結果、最終的にアプリケーションが完成したとBobが判断した場合は、"次のステップ"として以下の内容をユーザーに促します。
  1. Liberty Toolsを使用してLiberty Dev Modeを起動
  2. 画面や動作のテストをしてもらう
  3. ユーザーからのフィードバックを受け取り、必要であればBobがコードの修正を行う
- Dev Mode ではホットデプロイが有効になるため、コードを変更しても、ユーザーはサーバーを都度起動・停止することなく動作確認を行えます。

今回は以下のような手順で作業するイメージでこのルールを設定していますが、Liberty ToolsとBobの使い分け方には改善の余地がある気がするので、良いアイデアがあればぜひコメントください。

  • Bobがコーディングを実施する
    • 必要に応じて、ユーザーは手動またはBobに依頼してコードを適宜修正する
  • ユーザーが生成コードをレビューし、問題がないか確認する
  • Bob自身がDev Modeを実行し、起動・動作テストを行う
    • 動作確認が完了したら、サーバーを停止する
    • Bobが Dev Modeを実行した場合、発生した コンパイルエラー等のコンテキストを参照して、Bobが修正を行うことが可能(プロンプトの入力は不要)
  • ユーザーがBob作成のアプリケーションに対して、Liberty Tools経由でDev Modeを起動し、動作確認を行う
    • 必要に応じて、修正点をBobにフィードバックする
  • Bobがフィードバックをもとにコードを修正し、反映内容をユーザーが確認する
    • この時点では ユーザーによるDev Modeが起動したままのため、サーバーの起動・停止は不要

Liberty starter applicationの作成

アプリケーション作成の雛形として、こちらからOpenLibertyのスターターアプリケーションを作成します。
https://openliberty.io/start/

今回はこちらの設定でプロジェクトを作成します。
image.png

Planモード

それではアプリを作成していきます。

まずはPlanモードで、今回作成するアプリケーションの要件を決めていきます。

(Bobを使用したLibertyアプリの作成の詳細はこちらを参照してください。)

今回は以下のようなシンプルな指示を出しました。

簡単な掲示板のjavaアプリケーションを作成したいです。

その後、PlanモードでBobと対話して、おおよそ以下のような形でサンプルアプリを作成することにしました。

  • 実装する機能:
    • 投稿の作成(タイトルと内容)
    • 投稿の一覧表示
    • 投稿の削除
  • 技術構成:
    • バックエンド: Jakarta EE 10 (JAX-RS, CDI)
    • データ管理: メモリ内リスト
    • フロントエンド: HTML/CSS/JavaScript

Codeモード

次にCodeモードで、この内容を実装していきます。

今回、自動承認設定は以下のような形に設定しました。

コードの読み取りやTodoリストの確認はBobにお任せし、コードの書き込みやコマンドの実行は人の手でチェックできるような形にしています。
image.png

その後はTodoに従ってBobがコーディングを進めてくれます。
image.png

また、Bobの書いたコードを手動で修正したい場合には、Liberty Toolsがこちらのように候補を提示してくれます。

(特にfeatureの記述に便利ですね。)
image.png

全てのファイルを作成すると、Bobはアプリケーションをビルドして実行しました。

きちんと今回定義したルールに従ってくれていることが分かります。
image.png

また、Bobがサーバーを起動した際、起動後にBobが次のステップに進まないことがありましたが、その際はコマンドを強制終了してあげることで問題なく続行できました。
image.png

その後、Bobがアプリケーションが完成したと判断し、定義したルール通り以下の内容を出力しました。

## 次のステップ
1. **Liberty Toolsを使用してLiberty Dev Modeを起動**
2. **ブラウザでアクセス**: http://localhost:9080/liberty-tools-test/
3. **画面や動作のテスト**:
   - 投稿フォームから新しい投稿を作成
   - 投稿一覧が表示されることを確認
   - 削除ボタンで投稿を削除
4. **フィードバック**: 必要に応じて修正をお知らせください

Liberty ToolsでのDev Modeの起動

それでは、Liberty ToolsでLiberty Dev Modeを起動します。

エクスプローラー下部のLIBERTY DASHBOARDからStartをクリックします。
image.png

エディター下部にあるターミナルからDev Modeが起動しました。
image.png

URLにアクセスし、アプリケーションが問題なく動作していることが確認できました。
image.png

次に、Dev Modeを起動させたままの状態で、以下のような修正をBobに依頼してみます。

UIをもう少しシンプルな見た目に変更してください

Bobは指示に従い、cssファイルの変更を行いました。

次に変更の結果を画面で確認してみます。

Dev Modeではホットデプロイが有効なため、サーバーの起動や停止を必要とせず、コードの変更が画面に反映されているのが確認できました。

image.png

(とてもシンプルですね)

まとめ

Liberty Toolsを使用することで、Liberty Dev Modeやサーバーの起動や停止、コードの補完をBobに統合された形で利用することができました。

特にDev Modeを有効にした状態でBobにコーディングを行ってもらうことで、サーバーを都度起動・停止することなく動作確認を行うことができるのが良いポイントだと思いました。

Liberty Toolsを使用した人の手による作業と、BobによるAIでの作業の分担は、.bobでのルールをうまく使用することで制御できそうです。

さらに詳しい情報をお探しの方へ

IBMの最新情報、イベント情報、さらに役立つ資料は、以下のIBM Communityでも発信・格納されています。

最新のトレンドや有益な情報をチェックするために、ぜひご覧ください!

  • WebSphere: IBM Community - WebSphere

    WebSphere関連の最新情報やディスカッション、イベント情報、技術資料を公開中!

  • ELM (Engineering Lifecycle Management): IBM Community - ELM

    ELMに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!

  • Integration: IBM Community - Integration

    Integrationに関する最新のイベント情報、ナレッジ共有、便利なドキュメントをチェック!

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?