![]() ![]() ![]() ![]() JBoss-IDE による Eclipse からの JBoss 開発この記事のURLhttp://japan.internet.com/developer/20051011/30.html
著者:Javid Jamae
海外internet.com発の記事
はじめにJBossは、Javaコミュニティで長年使われてきたオープンソースのJ2EEアプリケーションサーバーです。そのJBossが、先ごろEclipseのおかげで新しいツールキットを手に入れました。このツールキットにより、JBossはいよいよ傍流から主流になるのではないかと思われます。 JBossはセキュリティ、ロードバランシング、クラスタリング、トランザクション機能などを備えており、その堅牢性と拡張性で常に高い評価を受けてきましたが、これまではGUIベースの統合開発環境(IDE)を持っていませんでした。そのため、市場のかなりの部分をIBM、BEA、Borlandといったクローズドソースのライバルたちの手に渡さざるを得ませんでした。しかしEclipseプロジェクトのおかげで、このほどJBossはEclipse開発フレームワークにプラグインできるIDEを手に入れました。このIDEの登場により、JBossはGUIを好む多数の開発者にも有力な選択肢として見てもらえるようになりました(もちろん、コマンドラインが好きな人は、引き続きコマンドラインツールを使用するようJBossを設定できます)。 JBossをサポートしているEclipseプラグインは既にいくつかありますが、このJBoss-IDEプラグインは最も簡単にインストール、アップデート、および使用することができます。JBoss-IDEプラグインは、サーバーの開始/停止、サーバーサイドコードのデバッグ、アーカイブファイルのパッケージ化と配備をサポートしています。さらに、XDocletコード生成もサポートしています。JBoss-IDEの最大の長所は、JBoss Application Serverの開発元であるJBoss Inc.が開発と保守と担当しているということです。 本稿では、JBoss-IDEプラグインのインストール方法と設定方法を説明し、単純なHello Worldアプリケーションを作成し、パッケージ化し、JBossサーバーに配備する手順を段階的に見ていきます。 JBoss-IDEプラグインのインストールEclipseプラグインの多くはZIPファイルとしてパッケージ化されており、それをダウンロードして、Eclipseのプラグインディレクトリに直接解凍します。しかし、JBoss-IDEはEclipseの組み込みのアップデート管理機能を使用しており、初回インストールを簡単に行えるほか、以降のアップデートをさらに簡単に行えるようになっています。 注意
プロキシを使用している場合は、アップデートマネージャを実行する前にプロキシサーバーを定義する必要があります。[Window]→[Preferences]→[Install/Update]を選択し、[Enable HTTP Proxy Connection]を選択して、ホストアドレスとポートの値を指定します。インストールプロセスの詳細については、JBoss IDEのWebページを参照してください。
Eclipse 2.x
Eclipse 3.x
トップメニューにボタンを追加するJBoss-IDEプラグインには、サーバーを開始、停止、中断するためのボタンや、サーバーコンソールやログファイルを表示するためのボタンが用意されています。これらのボタンは、デフォルトサーバーとして定義した1つのサーバー上でのみ機能します。デフォルトサーバーの設定方法については後述します。ここでは、これらのボタンをツールバーに表示する方法を説明します。 Eclipse 2.x
Eclipse 3.x
サーバーの設定と起動JBossサーバーをここからダウンロードしてください。 JBossサーバーを起動するには、デバッグ設定を作成する必要があります。JBossをデバッグ設定の中で実行すると、サーバーコード内でブレークポイントを設定して使用することができます。[Run]→[Debug]を選択すると、左側のペインにJBossに関する新しい設定がいくつか表示されるはずです。現在実行しているJBossのバージョンに一致するものをクリックします。右側の[Debug]オプションでは、JBossサーバーを起動したときにEclipseをどのパースペクティブに切り替えるかを定義できます。私の場合は、サーバーの起動時にEclipseのパースペクティブを切り替えたくないので、[Debug]を[None]に変更しています。 パースペクティブを定義したら、[New]をクリックして、JBoss設定の新規インスタンスを作成します。新しい設定に名前を付け、JBossサーバーのホームディレクトリを指すようにします(図1参照)。 [Close]をクリックした後で、[Window]→[Preferences]→[JBoss IDE]→[Launcher]を選択します。先ほどトップツールバーに追加したボタンを使用可能にするために、デフォルトサーバーを指定する必要があります(図2参照)。 図1:デバッグ設定を使用してJBossサーバーを起動する ![]() 図2:トップツールバーでボタンを使用できるようにするために、デフォルトサーバーを定義する ![]() [OK]をクリックすると、トップツールバーに追加したボタンが使用可能になります。 サーブレットの作成それでは、このプラグインを使用して単純な"Hello World!"サーブレットを作成し、JBossに配備してみましょう。 ソースコード(.javaファイル)はソースフォルダに格納し、コンパイル済みのクラス(.classファイル)は出力フォルダに格納します。次の手順に従って、ソースフォルダと出力フォルダを設定します(図3参照)。 図3:ソースと出力をこの図のように設定する ![]()
次に、Eclipseがコードをコンパイルするときに使用するライブラリ(JARファイル)を定義して、CLASSPATHを設定する必要があります。さらに、サーブレットをコンパイルするためのJARファイルを追加します。幸い、EclipseにはTomcatプラグインが装備されており、このプラグインに、サーブレットをコンパイルするのに必要なライブラリが含まれています。 そして、次の手順を行います(図4参照)。 図4:「servlet.jar」を追加した後のライブラリ(CLASSPATH)の様子 ![]()
次は、サーブレット内で下記のコードを使用して、 package com.devx.example; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorldServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream out = response.getOutputStream(); out.println("<html><body><h1>Hello World!</h1></body></html>"); } } このサーブレットへのアクセス方法をJBossに教えるには、配備記述子を用意する必要があります。配備記述子(web.xml)は、.warファイル内のWEB-INFというフォルダに配置します。「src」フォルダの下に「WEB-INF」フォルダを作成します。その後、このフォルダ内に下記のソースを含んだ「web.xml」ファイルを作成します。
<!DOCTYPE web-app PUBLIC
’-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN’
’http://java.sun.com/j2ee/dtds/web-app_2.2.dtd’>
<web-app>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>com.devx.example.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
ここまでの作業を終えると、プロジェクト構造は図5のようになります。 図5:必要なファイルをすべて作成した後のプロジェクト構造 ![]() セットアップとパッケージ設定このアプリケーションをJBossに配備する前に、パッケージ設定を通じてWARファイルの構造を定義する必要があります。このパッケージ設定を実行して、WARファイルを作成します。 パッケージ設定を作成するには、次の手順を行います。
図6:パッケージ設定の内容(プロジェクトプロパティで表示した様子) ![]() [OK]をクリックすると、プロジェクト内に「packaging-build.xml」というファイルができます。 WARファイルの作成と配備WARファイルを作成するには、プロジェクトを右クリックして[Run Packaging]をクリックします。作成されたWARファイルを確認するには、プロジェクトを右クリックして[Refresh]をクリックする必要があります。このファイルはプロジェクトの最上位レベルに作成されます。 WARファイルを右クリックし、[Deployment]を選択し、[Deploy To]を選択します。図7のような[Target Choice]ダイアログが表示され、配備先のアプリケーションサーバーを選択することができます。 図7:[Target Choice]ダイアログで、配備先のJBossインスタンスを選択する ![]() 私は自分のマシン上でJBoss 3.2.2とJBoss 3.2.3を稼働しているので、両方のサーバーを使用できます。配備先を選択すると、配備するアプリケーションを確認するためのダイアログが表示されます。 それでは、実際にWebブラウザを起動して、このアプリケーションを試してみましょう。http://localhost:8080/helloworld/Helloにアクセスすると、図8のようなページが表示されます。 図8:Hello Worldサーブレットのテスト結果 ![]() 本稿では、Eclipse内にJBoss-IDEプラグインをインストールする方法と、JBossサーバーを設定し、単純なアプリケーションをパッケージ化してJBossサーバーに配備する方法を解説しました。いずれまた、本稿の続編としてJBoss-IDEプラグインのXDoclet機能の使い方を説明する予定ですのでご期待ください。 著者紹介Javid Jamae(Javid Jamae)
Jamae Consulting社社長。同社はソフトウェア開発/コンサルティング会社として、規模の大小を問わずさまざまな企業をターゲットにビジネス、トレーニング、開発サービスを展開している。メールの宛先はこちら。
|