このトピックでは、Workshop 製品ファミリとともに Jetty サーバを設定して使用する方法について説明します。ここでは以下のトピックを取り扱います。
このトピックでは、開発用マシンにあらかじめローカルにサーバをインストール済みであるか、または開発に使用できるサーバ上であることを前提としています。サーバのインストール、設定、および管理については、Jetty のドキュメントを参考にしてください。
サーバを定義するには、次の手順に従います。
[Mort Bay] を展開して、適切なサーバを選択します。[次へ] をクリックして続行します。
[次へ] をクリックして続行します。
適切な値を入力して、[終了] をクリックして続行します。
[Select Project To Debug] フィールドでは、最初のプロジェクトが自動的に選択されています。プルダウンを使用すると、デバッグするプロジェクトを指定できます。
サーバ上では 1 度に 1 つのプロジェクトのみをデバッグできます。[Select Project To Debug] フィールドに表示されるのは、現在、デバッグ モードでの実行が許可されているプロジェクトです。このプロジェクトを必ずしもデバッグ モードで実行する必要はありませんが、サーバ上で別のプロジェクトをデバッグする場合は、この設定を変更してからアプリケーションをデバッグする必要があります。
サーバの定義を更新するには、次の手順を実行します。
[サーバの概要] からは、デプロイメントや実行時プロパティを参照したり設定したりできます。
[モジュールをワークスペースから直接実行します] オプションに注目してください。これは WTP の機能で、アプリケーションを「展開された」モードで実行できるようにするものです。この場合、アプリケーションは直接ワークスペースから実行されます。アプリケーションを WAR ファイルにコンパイルしてデプロイする場合は、このオプションのチェックをはずす必要があります。
手動でのデプロイメントについては、ここをクリックしてください。
Workshop では JSP のホット デプロイメントがサポートされますが、Struts アクションなどの他のアーティファクトのホット デプロイメントはサポートされません。
JSP を更新すると、自動的に変更がサーバにパブリッシュされ、[更新] ボタンを押すだけでそうした変更がサーバ上で実行されていることを確認できます。その他の変更は自動的にデプロイされます。ただし、必要に応じてアプリケーションを手動で再起動する必要があります。
アプリケーションを手動でデプロイするには、代わりのコンフィグレーションを作成する必要があります。代わりのコンフィグレーションの作成方法については、お使いのサーバのドキュメントを参考にしてください。
代わりのコンフィグレーションをデプロイするには、次の手順を実行します。
手動でのデプロイメントは、[モジュールをワークスペースから直接実行します] オプションが選択されている場合にのみ許可されています。
以下の画面が表示され、この画面でカスタム コンフィグレーション XML ファイルを指定できます。
リモート サーバ上 (または起動済みで IDE の「外部」で管理されているローカル サーバ上) でデバッグを行うには、サーバをリモート デバッグ用にコンフィグレーションし、手動でアプリケーションをデプロイしてから、リモート サーバのアドレスを定義する必要があります。
リモート デバッグ用のサーバのコンフィグレーションは、サーバ側の機能です。この情報は参考までに提供されています。最も確実な情報については、お使いのサーバのドキュメントを参考にしてください。
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
リモート サーバ上でアプリケーションのデバッグを試行する前には、次の手順を実行する必要があります。
アプリケーションを物理的に別のマシンでリモート デバッグしている場合、デバッガで 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 |
リモート サーバを定義するには、次の手順を実行します。
[接続タイプ] を [標準 (ソケット アタッチ)] に変更して、[ホスト] および [ポート] を指定します。
なお、リモート サーバ上でアプリケーションをデバッグする場合は、サーバの設定を更新する際に [モジュールをワークスペースから直接実行します] オプションを無効化しないようにする必要があります。