FeaturesPluginsDocs & SupportCommunityPartners

NetBeans IDE 5.5: 既存の Web アプリケーションのインポート

既存の Web アプリケーションから NetBeans 5.5 プロジェクトを作成するのに使用できるプロジェクトテンプレートは、2 つあります。

このドキュメントでは、最初に、仮に作成した Web アプリケーションを使用し、独自の Ant 構築スクリプトがないソースコードをインポートする方法を簡単に説明します。 この最初のシナリオでは、NetBeans IDE によって Ant 構築スクリプトが自動的に作成されます。 2 つめのシナリオでは、インストールした NetBeans IDE 5.5 にバンドルされている Tomcat Web サーバーの「Hello World」サンプルアプリケーションをインポートします。 このサンプルアプリケーションには、独自の Ant 構築スクリプトがあります。 つまり、ここでは、独自の Ant 構築スクリプトを使用して Web アプリケーションを扱う場合のソースコードのインポート方法を学びます。

サーバーの選択

コーディングを開始するには、必要なすべてのソフトウェアを用意し、プロジェクトを正しく作成、設定しておく必要があります。

ソフトウェアのインストール

開始する前に、コンピュータに次のソフトウェアをインストールしておく必要があります。

次のいずれかのアプリケーションサーバーをダウンロードして使用することもできます。

  • Sun Java System (SJS) Application Server
  • JBoss Application Server
  • WebLogic Application Server
ただし、IDE に付属している Tomcat Web サーバーには、このインポートガイドで説明しているような 2 層 Web アプリケーションに必要なすべてのサポートが用意されています。 アプリケーションサーバーは、エンタープライズアプリケーションを開発する場合にのみ必要です。

サーバーの登録

付属の Tomcat Web サーバーは、IDE に自動的に登録されます。 SJS Application Server、JBoss、または WebLogic に配備するには、IDE にローカルインスタンスを登録する必要があります。 NetBeans IDE 5.5/SJS Application Server バンドルをインストールした場合は、SJS Application Server が自動的に登録されます。

  1. メインウィンドウで「ツール」>「サーバーマネージャー」を選択します。
  2. 「サーバーを追加」をクリックします。 サーバーを選択し、そのインスタンスに名前を付けて、 「次へ」をクリックします。
  3. サーバー情報、アプリケーションサーバーのローカルインスタンスの場所、および配備先のドメインを指定します。

IDE による構築、実行、デバッグ

標準 Web アプリケーションプロジェクトを作成すると、IDE によって、プロジェクトの構築および配備方法を制御する Ant 構築スクリプトと一群のプロパティーファイルが作成されます。 この Ant スクリプトは、プロジェクトのオプションが設定されると更新されます。

プロジェクトの種類の選択

  1. 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。
  2. 「Web」>「既存のソースを使用する Web アプリケーション」を選択し、 「次へ」をクリックします。

プロジェクトの名前と場所の設定

  1. 「場所」で「参照」をクリックして、Web アプリケーションの Web モジュールルートを選択します。
  2. 「プロジェクト名」にプロジェクトの名前を入力します。 この名前は、コンテキストパスの設定にも使用されます。

    注: コンテキストパスには、空白は使用できません。 プロジェクト名に空白が含まれている場合、コンテキストパスでは、下線に置き換えられます。 たとえば「Servlet Examples」というプロジェクトの場合、そのコンテキストパスは「/servlet_examples」になります。

  3. 「プロジェクトフォルダ」で「参照」をクリックし、プロジェクトを格納するフォルダを選択します。

    注: 選択したプロジェクトフォルダに、nbproject というフォルダが含まれていてはいけません。これは、プロジェクトレベルのファイルを格納するために IDE が作成するフォルダ名です。

  4. 「主プロジェクトとして設定」チェックボックスがすでに選択されていることを確認し、 「次へ」をクリックします。

既存のソースとライブラリの選択

  1. Web ページのフォルダで、場所が正しく設定されていることを確認します。
  2. 必要に応じて、ライブラリフォルダに JAR ファイルを追加します。
  3. ソースパッケージフォルダを指定します。

    注: ソースルートが、読み込まれている別のプロジェクトによって所有されていてはいけません。 また、同じプロジェクトの別のコンパイルユニットによって所有されていてもいけません。 たとえば、ソースパッケージフォルダを同じプロジェクトのテストパッケージフォルダにすることはできません。

  4. 必要に応じて、ほかの JUnit テストパッケージフォルダを追加します。
  5. 「完了」をクリックします。 IDE でこのプロジェクトが開きます。 プロジェクトの論理構造は「プロジェクト」ウィンドウで、ファイル構造は「ファイル」ウィンドウで確認できます。

プロジェクト間の依存関係の作成

ソースのルートごとに別途、プロジェクト作成する場合は、それらプロジェクト間のクラスパスの依存関係を設定する必要があります。 一般には、1 つの主プロジェクトと複数の必須プロジェクトを設定します。 必須プロジェクトとは、別のプロジェクトのクラスパスに追加されているプロジェクトです。

注: NetBeans IDE 4.1 Applet Tutorial には、プロジェクト間の依存関係の作成が役立つ例が示されています。

  1. 必須プロジェクトの追加先のプロジェクトを右クリックして、「プロパティー」を選択します。
  2. 「プロジェクトプロパティー」ダイアログの左の区画の「ライブラリ」をクリックします。 「ライブラリ」区画に、プロジェクトに必要なプロジェクトが一覧表示されます。
  3. 「プロジェクトを追加」をクリックします。
  4. クラスパスに追加する JAR ファイルがあるプロジェクトのプロジェクトディレクトリを選択します。 IDE プロジェクトのディレクトリには、(アイコン) バッジが付いています。 プロジェクトディレクトリを選択すると、そのプロジェクト名とプロジェクトの JAR ファイルが表示されます。
  5. 「プロジェクト JAR ファイルを追加」をクリックします。

アプリケーションの実行

  • 「実行」>「主プロジェクトを実行」を選択して、Web アプリケーションを実行します。

独自の Ant スクリプトによるコンパイル、実行、デバッグ

自由形式 Web アプリケーションプロジェクトが作成されると、IDE は、指定された Ant 構築スクリプトを使用してプロジェクトを構築、配備します。 IDE で、プロジェクトの Ant スクリプトに含まれている設定に合わせてプロジェクトを構成する必要があります。 また、IDE でプロジェクトをデバッグするには、独自のターゲットを作成する必要があります。

プロジェクトの種類の選択

  1. 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。
  2. 「Web」>「既存の Ant スクリプトを使用する Web アプリケーション」を選択し、 「次へ」をクリックします。

プロジェクトの名前と場所の設定

  1. 「場所」フィールドで「参照」をクリックし、Web モジュールのルートを選択します。この例では、このルートは NetBeans IDE のインストールフォルダにある Tomcat Web サーバーの sample フォルダです。
  2. enterprise3\apache-tomcat-5.5.17\webapps\tomcat-docs\appdev\sample
  3. 「プロジェクトフォルダ」で「参照」をクリックし、プロジェクトを格納するフォルダを選択します。

    注: 選択したプロジェクトフォルダに、nbproject というフォルダが含まれていてはいけません。これは、プロジェクトレベルのファイルを格納するために IDE が作成するフォルダ名です。

  4. 「主プロジェクトとして設定」チェックボックスがすでに選択されていることを確認し、 「次へ」をクリックします。

IDE コマンドへの Ant ターゲットの関連付け

  1. IDE で Ant 構築スクリプト内の Ant ターゲットをプロジェクトのコマンドに関連付けます。
    • 「プロジェクトを構築」には、compile を選択します。
    • 「プロジェクトの生成物を削除」には、clean を選択します。
    • 「Javadoc を生成」には、javadoc を選択します。
    • 「プロジェクトを実行」には、install を選択します。
    • 「プロジェクトを配備」には、reload を選択します。
  2. 「次へ」をクリックします。

Web ソースの設定

  1. 「Web ページのフォルダ」で、アプリケーションの「Web」フォルダの内容が適切であることを確認します。
  2. 「コンテキストパス」テキストボックスに /MyProject と入力します。 「次へ」をクリックします。

ソースパッケージフォルダの設定

  1. 「ソースパッケージフォルダ」で、アプリケーションの「src」フォルダの内容が適切であることを確認します。

    注: ソースルートが、読み込まれている別のプロジェクトによって所有されていてはいけません。 また、同じプロジェクトの別のコンパイルユニットによって所有されていてもいけません。 たとえば、ソースパッケージフォルダを同じプロジェクトのテストパッケージフォルダにすることはできません。

  2. 必要に応じて、ほかの JUnit テストパッケージフォルダを追加します。
  3. 「ソースレベル」で、Ant スクリプトによるコンパイルと実行に使用する JDK を選択します。 この例の場合は、JDK レベルは 1.5 です。 「次へ」をクリックします。

クラスパスの設定

  1. 「JAR/フォルダを追加」をクリックし、ブラウズして NetBeans IDE のインストールフォルダにあるサーブレット API を選択します。
    enterprise3/apache-tomcat-5.5.17/common/lib
    注: このクラスパスは、コンパイルおよび実行時には使用されません。これらのタスクのクラスパスは、Ant スクリプトで扱います。 これらの設定は、コード補完およびリファクタリングに含めるクラスを IDE に指示します。
  2. 「次へ」をクリックし、「完了」をクリックします。 IDE でこのプロジェクトが開きます。 「プロパティー」ウィンドウでプロジェクトの論理構造を、「ファイル」ウィンドウでそのファイル構造を見ることができます。

                

Ant 構築スクリプトのカスタマイズ

「プロジェクト」ウィンドウで「MyProject」プロジェクトノードを展開し、ソースエディタで build.xml ファイルを開いて、次のことを行います。

  1. File and Directory Names」セクションにある app.name プロパティーにコンテキストパスを設定します。
         <property name="app.name" value="MyProject"/>
  2. File and Directory Names」セクションにある catalina.home プロパティーに、Tomcat Web サーバーを指し示すエントリを定義します。 たとえば Tomcat Web サーバーのバージョンが 5.5.7 で、デフォルトのフォルダに NetBeans IDE がインストールされている場合は、次のプロパティー設定を使用します。
         <property name="catalina.home"
         value="C:\Program Files\netbeans-5.5\enterprise3\apache-tomcat-5.5.17"/>
  3. Tomcat Web サーバーのデフォルトのポート番号 (8080) を変更する場合は、「File and Directory Names」セクションにある manager.url プロパティーを編集します。
         <property name="manager.url"
         value="http://localhost:8084/manager"/>
  4. Custom Ant Task Definitions」に進んで、Ant 構築スクリプトの実行のたびに IDE が使用する実際の環境の CLASSPATH 変数を設定します。 たとえば、「deploy」、「list」、「reload」、「undeploy」の各タスクを次のように設定します。

        <path id="catalina.ant.cp">
           <pathelement path="${catalina.home}/server/lib/catalina-ant.jar"/>
        </path>
    <taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask" classpathref="catalina.ant.cp"/> <taskdef name="list"      classname="org.apache.catalina.ant.ListTask" classpathref="catalina.ant.cp"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina.ant.cp"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina.ant.cp"/>

  5. </target> 終了タグの上に次の行を追加し、install および reload ターゲットを変更します。
        <nbbrowse url="http://localhost:8084/MyProject"/>

    デフォルトの install および reload ターゲットは、ブラウザでアプリケーションを表示しません。 上記の行を追加すると、IDE のデフォルトブラウザが開き、これらターゲットの最終手順でアプリケーションが表示されます。

  6. (省略可能) Ant 構築スクリプトに独自のターゲットを追加し、それらターゲットを IDE のプロジェクトコマンドに関連付けます。 詳細は、下記の「アプリケーションのデバッグ」を参照してください。

アプリケーションの配備

  1. 「実行時」ウィンドウ (Ctrl-5) で、「サーバー」ノードを展開し、Tomcat Web サーバーが起動中であることを確認します。 Tomcat Web サーバーが起動中でない場合は、インスタンスノードを右クリックし、コンテキストメニューから「起動」を選択します。
  2. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、コンテキストメニューから「プロジェクトを実行」を選択します。 Ant ターゲットを IDE のコマンドに関連付けた場合、install ターゲットは「プロジェクトを実行」コマンドに関連付けられています。 これは、プロジェクトを実行したときに呼び出されるターゲットです。 アプリケーションの配備の準備ができると、進捗モニターウィンドウが表示されます。

    注: セッションで初めてアプリケーションを実行した場合は、Tomcat Web サーバーからユーザー名とパスワードの問い合わせがあります。 受け付けられるのは、「manager」ロールを持つユーザーのユーザー名とパスワードだけです。 これは、Tomcat Web サーバーのベースディレクトリにある conf/tomcat-users.xml ファイルで定義されています。 このディレクトリの場所を確認するには、「実行時」ウィンドウで Tomcat Web サーバーのインスタンスノードを右クリックし、「プロパティー」を選択します。 「プロパティー」ダイアログの「ベースディレクトリ」プロパティーに Tomcat Web サーバーのベースディレクトリの場所が示されます。

アプリケーションの配備の成功後は、「プロジェクト」ウィンドウでプロジェクトを右クリックし、コンテキストメニューから「プロジェクトを再配備」を選択することによって再配備することができます。 Ant ターゲットを IDE のコマンドに関連付けた場合、reloat ターゲットは「プロジェクトを再配備」コマンドに関連付けられています。 これは、プロジェクトを実行したときに呼び出されるターゲットです。

アプリケーションのデバッグ

プロジェクトにデバッグターゲットを追加してみましょう。 デバッグターゲットを実行すると、デバッガ上でプロジェクトが実行され、コードを行単位でステップ実行できます。 IDE は、完全なデバッグターゲットを自動的に生成することができます。 プロジェクトに固有のいくつかの設定を行えば、準備完了です。 しかしながら、現実には、独自のデバッグターゲットがすでに作成されていることもあります。 その場合、アプリケーションをデバッグする手順は、次のようになります。

  1. 「ファイル」ウィンドウで nbproject フォルダを展開して、project.xml をダブルクリックし、ソースエディタで開きます。
  2. ide-actions セクションに次のアクションを追加します。
        <action name="debug">
           <script>path to my build script</script>
           <target>name of my debug target</target>
        </action>
  3. context-menu セクションに新しい ide-action を追加します。
        <ide-action name="debug"/>
  4. プロジェクトノードを右クリックすると、コンテキストメニューに「プロジェクトをデバッグ」が含まれていることを確認してください。
  5. デバッグターゲットを使用します。
独自のデバッグターゲットがない場合は、次の手順でデバッグターゲットを生成、使用します。
  1. メインメニューから「実行」>「主プロジェクトをデバッグ」(F5) を選択します。

    注: nbproject/ide-targets.xml 内に IDE 固有のデバッグターゲットを生成するよう促されます。

  2. 「生成」をクリックします。

    新しい ide-targets.xml ファイルに完全なデバッグターゲットが生成されます。新しい debug.properties ファイルに、すべてのプロパティーが定義されています。 debug.propertieside-targets.xml、および project.xml の 3 つのファイルがソースエディタに表示されます。 debug.properties ファイルの内容は次のとおりです。

       jpda.session.name=MyProject
       jpda.host=localhost
    
       # Sun Java System Application Server で共有メモリーを使用 (Windows の場合)
       # jpda.address=localhost4848
       # jpda.transport=dt_shmem
    
       # Sun Java System Application Server でソケットを使用
       # jpda.address=9009
       # jpda.transport=dt_socket
    
       # Tomcat で共有メモリーを使用 (Windows の場合)
       jpda.address=tomcat_shared_memory_id
       jpda.transport=dt_shmem
    
       # Tomcat でソケットを使用
       #jpda.address=11555
       # jpda.transport=dt_socket
    
       src.folders=src
       web.docbase.dir=web
    
       # このプロパティーは、ソースフォルダのリストに変更できる
       debug.sourcepath=${src.folders}:${web.docbase.dir}
    
       # Tomcat の場合のクライアント URL
       client.url=http://localhost:8084/MyProject
    
       # Sun Java System Application Server の場合のクライアント URL
       # client.url=http://localhost:8080

    上記のプロパティーは、共有メモリーを使用して、アプリケーションを Tomcat Web サーバーに配備する指定です。 Sun Java System Application Server を使用するか、ソケット接続を使用する場合は、Tomcat 関係のプロパティーの前にコメント記号 (#) を付けて、Sun Java System Application Sever を使用する、該当する接続のコメント記号を削除します。 同様に、デフォルトでは、アプリケーションは http://localhost:8084/MyProject に配備されますが、Sun Java System Application Sever のポート番号が含まれていることに注意してください。 debug.sourcepath プロパティーは、デバッグするファイルを含むフォルダの指定です。 この例では、すべての Java ファイルおよび Web ファイルをデバッグできるようにします。

    これらのプロパティーの詳細は、Web アプリケーションをデバッグするターゲットの生成を参照してください。

  3. 「ファイル」ウィンドウでプロジェクトノードを展開し、nbproject フォルダを展開して、ide-targets.xml をダブルクリックします。 次に示すような完全なデバッグターゲットが自動的に定義されていることを確認してください。
        <target name="-load-props">
           <property file="nbproject/debug.properties"/>
        </target>
    
        <target name="-check-props">
           <fail unless="jpda.session.name"/>
           <fail unless="jpda.host"/>
           <fail unless="jpda.address"/>
           <fail unless="jpda.transport"/>
           <fail unless="web.docbase.dir"/>
           <fail unless="debug.sourcepath"/>
           <fail unless="client.url"/>
        </target>
    
        <target depends="-load-props, -check-props" name="-init"/>
    
        <target depends="-init" if="netbeans.home" name="debug-nb">
           <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" name="${jpda.session.name}" transport="${jpda.transport}">
                <sourcepath>
            <path path="${debug.sourcepath}"/>
                </sourcepath>
           </nbjpdaconnect>
           <antcall target="debug-display-browser"/>
        </target>
    
        <target name="debug-display-browser">
           <nbbrowse url="${client.url}"/>
        </target>

カスタマイズを行う必要がある場合は、debug-nb ターゲットや、そのターゲットをサポートするターゲットではなく、debug.properties ファイルで行なってください。

デバッグターゲットの使用

デバッグターゲットを使用するには、Web アプリケーションが配備されている必要があります。

  1. 「プロジェクト」ウィンドウで Web ページフォルダを展開し、hello.jsp をダブルクリックして、ソースエディタで開きます。 ソースエディタの左辺にあるグレーのバー内を右クリックし、「行番号を表示」を選択します。 行 25 に移動し、行番号をクリックします。 赤いバーが現れます。 これがブレークポイントです。 デバッガを実行すると、この行で停止します。 行 29 にもう 1 つブレークポイントを設定します。
  2. 「実行時」ウィンドウで「サーバー」ノードを展開し、バンドル版の Tomcat Web サーバーのノードを右クリックして、「サーバーを起動/停止」を選択します。 「サーバーの状態」ダイアログで「完了時に自動的にこのウィンドウを閉じる」チェックボックスの選択を解除し、「サーバーを停止」をクリックします。

    「サーバーの状態」ダイアログで「サーバーを起動 (デバッグ)」をクリックします。

  3. サーバーがデバッグモードで起動したら、「実行」>「主プロジェクトをデバッグ」(F5) を選択します。 アプリケーションが配備され、デバッガに接続されます。
  4. 配備したアプリケーションの JSP ページのリンクをクリックします。 IDE のデバッガコンソールに、次のようなメッセージが表示されます。
        tomcat_shared_memory_id に接続中
        ユーザプログラム実行中
        スレッド http-8084-Processor25 が hello.jsp 内の行 68 位置でブレークポイントに達しました。
        スレッド http-8084-Processor23 が hello.jsp:25 の位置で停止しました。
  5. 「実行」>「ステップイン」(F7) を選択します。 デバッガがファイルの次の行 (行 29) にステップインしたことを確認します。
        ユーザプログラム実行中
        スレッド http-8084-Processor23 が hello.jsp:26 の位置で停止しました。
  6. F7 を使用し、コードの行単位のステップ実行を続けます。

デバッグターゲットのトラブルシューティング

NetBeans User FAQDebugging の節を参照してください。



次の手順

NetBeans IDE 5.5 での Web アプリケーションの開発については、次のリソースを参照してください。

メーリングリストに登録することによって、NetBeans IDE Java EE 開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。 NetBeans IDE の今後の Java EE 開発機能については、http://j2ee.netbeans.org/ を参照してください。

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by