Jetty

このトピックでは、Workshop 製品ファミリとともに Jetty サーバを設定して使用する方法について説明します。ここでは以下のトピックを取り扱います。

このトピックでは、開発用マシンにあらかじめローカルにサーバをインストール済みであるか、または開発に使用できるサーバ上であることを前提としています。サーバのインストール、設定、および管理については、Jetty のドキュメントを参考にしてください。

IDE 内部でサーバを定義する

サーバを定義するには、次の手順に従います。

  1. 最初にアプリケーションを実行する前に、[実行|デバッグ] コマンドでサーバを定義します。
  2. 新しくサーバを定義するには、[J2EE Server] を右クリックして、[新規] を選択します。
  3. 次の画面で、はじめに [名前] フィールドにサーバの名前を指定します。この名前は IDE 内部でのみ使用されるものです。

  4. 次に、[新規] をクリックしてサーバ タイプを指定します。
  5. [Mort Bay] を展開して、適切なサーバを選択します。[次へ] をクリックして続行します。

  6. 次のダイアログでは、Jetty の設定を指定する必要があります。

    [次へ] をクリックして続行します。

  7. 次の画面では、Jetty の追加設定を指定します。

  8. 適切な値を入力して、[終了] をクリックして続行します。

  9. 再び [デバッグ] ダイアログが表示されます。 ([Deployed Projects] ボックスの横) をクリックして、このサーバにデプロイするプロジェクトを指定します。

  10. [終了] をクリックすると、指定したプロジェクトが [Deployed Projects] ボックスにリストされます。

    [Select Project To Debug] フィールドでは、最初のプロジェクトが自動的に選択されています。プルダウンを使用すると、デバッグするプロジェクトを指定できます。

    サーバ上では 1 度に 1 つのプロジェクトのみをデバッグできます。[Select Project To Debug] フィールドに表示されるのは、現在、デバッグ モードでの実行が許可されているプロジェクトです。このプロジェクトを必ずしもデバッグ モードで実行する必要はありませんが、サーバ上で別のプロジェクトをデバッグする場合は、この設定を変更してからアプリケーションをデバッグする必要があります。

  11. [接続タイプ] のデフォルト設定は、IDE 内で管理されているローカル サーバについてのものです。[適用] をクリックすると、サーバの定義が完了します。[サーバ] ビューに新しいサーバ エントリが表示されます。
  12. この時点でアプリケーションをデバッグする場合は、[デバッグ] をクリックすると、選択されているアプリケーションがデバッグ モードで実行されます。それ以外の場合は、[閉じる] をクリックします。
  13. また、デプロイメントや実行時オプションを指定するために、サーバの定義を更新することもできます。

サーバの定義を更新する

サーバの定義を更新するには、次の手順を実行します。

  1. [サーバ] ビューでサーバ名をダブル クリックすると、[サーバの概要] が表示されます。

    [サーバの概要] からは、デプロイメントや実行時プロパティを参照したり設定したりできます。

    [モジュールをワークスペースから直接実行します] オプションに注目してください。これは WTP の機能で、アプリケーションを「展開された」モードで実行できるようにするものです。この場合、アプリケーションは直接ワークスペースから実行されます。アプリケーションを WAR ファイルにコンパイルしてデプロイする場合は、このオプションのチェックをはずす必要があります。

    手動でのデプロイメントについては、ここをクリックしてください。

  2. また、[プロパティ] タブをクリックして、サーバのコンフィグレーション時に設定したプロパティを変更することもできます。

ホット デプロイメント

Workshop では JSP のホット デプロイメントがサポートされますが、Struts アクションなどの他のアーティファクトのホット デプロイメントはサポートされません。

JSP を更新すると、自動的に変更がサーバにパブリッシュされ、[更新] ボタンを押すだけでそうした変更がサーバ上で実行されていることを確認できます。その他の変更は自動的にデプロイされます。ただし、必要に応じてアプリケーションを手動で再起動する必要があります。

アプリケーションを手動でデプロイする

アプリケーションを手動でデプロイするには、代わりのコンフィグレーションを作成する必要があります。代わりのコンフィグレーションの作成方法については、お使いのサーバのドキュメントを参考にしてください。

代わりのコンフィグレーションをデプロイするには、次の手順を実行します。

  1. [サーバ] ビューでサーバ名をダブル クリックします。[サーバの概要] が表示されます。

    手動でのデプロイメントは、[モジュールをワークスペースから直接実行します] オプションが選択されている場合にのみ許可されています。

    以下の画面が表示され、この画面でカスタム コンフィグレーション XML ファイルを指定できます。

リモート デバッグを使用する

リモート サーバ上 (または起動済みで IDE の「外部」で管理されているローカル サーバ上) でデバッグを行うには、サーバをリモート デバッグ用にコンフィグレーションし、手動でアプリケーションをデプロイしてから、リモート サーバのアドレスを定義する必要があります。

手順 1 : リモート デバッグが許可されるようにサーバをコンフィグレーションする

リモート デバッグ用のサーバのコンフィグレーションは、サーバ側の機能です。この情報は参考までに提供されています。最も確実な情報については、お使いのサーバのドキュメントを参考にしてください。

Jetty のホーム ディレクトリに移動して、work というフォルダを作成します。デフォルトの場合、Jetty では JSP ページがシステムの一時フォルダ内にコンパイルされます。work ディレクトリが存在すると、サーブレットが代わりにこのディレクトリにコンパイルされるので、デバッグが容易になります。

次のコマンドで Jetty サーバを起動します。

CD c:\jetty-5.1.10 
java -Djetty.home=c:\jetty-5.1.10 -Xdebug -Xrunjdwp:transport=dt_socket,address=8453,suspend=n,server=y -jar start.jar

手順 2 : リモート デバッグ用にアプリケーションを準備する

リモート サーバ上でアプリケーションのデバッグを試行する前には、次の手順を実行する必要があります。

  1. アプリケーションをビルドします ([自動的にビルド] が設定されている場合には不要)。
  2. アプリケーションを手動でデプロイします。展開されたアプリケーションとしてデプロイすることも、WAR または EAR ファイルを使用してデプロイすることもできます。
  3. work/temp ディレクトリの内容を消去して、デバッグ情報のないファイルを削除します。
  4. デプロイしたアプリケーションのバージョンが IDE のバージョンと一致していることを確認します。

手順 3 : (省略可能) 別のサーバ上での JSP サーブレット ソースのデバッグを有効化する

アプリケーションを物理的に別のマシンでリモート デバッグしている場合、デバッガで JSP のブレークポイントにヒットしても IDE では JSP 内の正しいソース行が表示されません。これは、Workshop で行をマップするために JSP サーブレット ソースを見つけようとしても、そのファイルが IDE で利用できないためです。

別のサーバ上でサーブレットのソースをデバッグできるようにするには、以下の (リモート サーバ上の) ディレクトリをローカルのディレクトリにマップします。続いて [ソース ルックアップ パス] ダイアログ、または [起動のコンフィグレーション] ダイアログ ([実行|実行] コマンド) の [ソース] タブを使用して、マップしたディレクトリを [ソース ルックアップ パス] に追加します。

${jetty_home}\work\jetty__${jetty_port}__${appname}

e.g.: 
c:\jetty-5.1.10\work\Jetty__8080__struts-examples_1_2

手順 4 : リモート サーバを定義して、アプリケーションをデバッグする

リモート サーバを定義するには、次の手順を実行します。

  1. サーバを定義します。
  2. [実行|デバッグ] の順にクリックして、リモート操作向けにサーバの定義を変更します。[J2EE Server] の下に表示されるお使いのサーバ名をクリックします。

    [接続タイプ] を [標準 (ソケット アタッチ)] に変更して、[ホスト] および [ポート] を指定します。

  3. [リモート VM の終了を許可] チェック ボックスでは、サーバがトランザクション途中であっても IDE でサーバのハードを停止できるようになるので、このチェック ボックスの使用はお勧めしません。
  4. [適用] をクリックして変更を保存します。
  5. [デバッグ] をクリックして、アプリケーションをデバッグ モードで実行します。

なお、リモート サーバ上でアプリケーションをデバッグする場合は、サーバの設定を更新する際に [モジュールをワークスペースから直接実行します] オプションを無効化しないようにする必要があります。


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。