corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

RESTful Web サービスについて

REST (REpresentational State Transfer) は、World Wide Web などの分散ハイパーメディアシステム用アーキテクチャースタイルです。RESTful アーキテクチャーで中心となるのは、URI (Universal Resource Identifier) によって識別されるリソースという概念です。これらのリソースは HTTP などの標準インタフェースを使用して操作できます。また情報は、これらのリソースの表現を使用して交換されます。このチュートリアルでは、最初に REST について少し学習したあと、NetBeans IDE がこのアーキテクチャー型をサポートする方法について説明します。

目次

このページの内容は NetBeans IDE 7.0 が対象です

このチュートリアルに従うには、次のソフトウェアとリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE Java EE ダウンロードバンドル
Java Development Kit (JDK) version 6
Java EE 互換の Web サーバーまたはアプリケーションサーバー

EE5 プロジェクト: Tomcat Web サーバー 6.x-7.x、Oracle WebLogic Server 11g
または GlassFish Server Open Source Edition
重要: このチュートリアルで Tomcat を使用する場合は次を参照してください。
REST による Tomcat に関する NetBeans の Wiki.

EE6 プロジェクト: GlassFish Server Open Source Edition 3.x

Java DB (Derby) データベースサーバー
または MySQL データベースサーバー上の
jdbc/sample データベース

Java DB (Derby) の場合、GlassFish アプリケーションサーバーとともに NetBeans IDE を
インストールすると、IDE によって jdbc/sample データベースが生成されます。

MySQL の場合、IDE 内から MySQL サーバーに sample データベースを作成すると、IDE によってデータベースのデータが生成されます。

Tomcat および GlassFish サーバーは、どちらも NetBeans IDE の Web および Java EE の配布とともにインストールできます。または、GlassFish サーバーのダウンロードページApache Tomcat のダウンロードページからダウンロードすることもできます。

はじめに

RESTful Web サービスは、RESTful アーキテクチャースタイルを使用して構築されたサービスです。RESTful アプローチを使用する Web サービスの構築は、インターネット上にサービスを配備するために、SOAP ベースのテクノロジを使用する代わりとして幅広く使用されています。これは、軽量かつ HTTP 経由でデータを直接送信できるためです。

IDE は、JAX-RS (JSR 311 - Java API for RESTful Web Services) および Jersey (JAX-RS のリファレンス実装) を使用する、RESTful Web サービスの迅速な開発をサポートしています。

詳細については、次を参照してください。

RESTful Web サービスの構築に加え、IDE は RESTful Web サービスにアクセスするクライアントアプリケーションの構築、テスト、および Web サービスを呼び出すコードの生成 (RESTful と SOAP ベースの両方) もサポートしています。

IDE が提供する RESTful 機能の一覧は次のとおりです。

  1. JPA エンティティークラスおよびパターンからの RESTful Web サービスの迅速な作成。
  2. 「サービス」ウィンドウの Web サービスマネージャーからコンポーネントをドラッグ&ドロップすることによる、Google マップ、Yahoo News Search、StrikeIron Web サービスなどの Web サービスを呼び出すコードの迅速な生成。
  3. Web サービスマネージャーに登録されたサービスの RESTful Java クライアントの生成。
  4. RESTful Web サービスのテスト用テストクライアントの生成。
  5. プロジェクト内の RESTful Web サービスの実装クラスを簡単にナビゲートする論理ビュー。
  6. Spring トランザクション処理を提供する、完全に統合された Spring Framework。

このチュートリアルでは、RESTful Web サービスを生成、実装、およびテストする際、IDE がどのようなサポートを提供するのかを説明します。

RESTful Web サービス、持続性、およびエンティティークラス

Java の RESTful Web サービスでは、データベースと通信するために Java Persistence API が使用されます。具体的には、Persistence API に定義されているエンティティークラス持続性ユニットが使用されます。エンティティークラスは、リレーショナルデータベースのオブジェクトに対応づけられる Java クラスです。Java EE5 チュートリアルでは、「エンティティーは軽量な持続性ドメインオブジェクトです。通常、エンティティーはリレーショナルデータベースの表を表し、各エンティティーインスタンスはその表の行に対応します。」と説明されています。持続性ユニットは、一連のエンティティークラス、データソース、持続性プロバイダ、および持続性ユニット自体の名前で構成されます。これらは persistence.xml ファイルで定義されます。

NetBeans IDE では、同じ手順の中でエンティティークラスと RESTful Web サービスを作成することも、既存のエンティティークラスから RESTful Web サービスを作成することもできます。このチュートリアルでは、「データベース」ウィザードで作成した RESTful サービスを使用して、エンティティークラスと RESTful Web サービスを同じ手順の中で生成します。このウィザードでは、持続性ユニットが自動的に生成されます。

MySQL データベースサーバーの使用

JavaDB (Derby) ではなく MySQL データベースサーバーを使用する場合は、IDE にデータベースサーバーを登録し、サーバーに sample データベースを追加する必要があります。

このチュートリアルで MySQL データベースサーバーを使用するには、次の手順に従います。

  1. IDE に MySQL サーバーが登録されていない場合は登録します。MySQL サーバーを登録するには、IDE の「サービス」ウィンドウに移動し、「データベース」ノードを右クリックして、「MySQL サーバーを登録」を選択します。
    「サーバー」ウィンドウの「MySQL サーバーを登録」オプション
  2. 表示されるダイアログで、管理者ユーザーの名前とパスワードなど、MySQL サーバーの構成の詳細を入力します。「MySQL データベースへの接続」の「MySQL サーバープロパティーの構成」を参照してください。

    IDE に登録する MySQL サーバーの基本プロパティー
  3. MySQL サーバーを起動し、サーバーに接続します。「MySQL データベースへの接続」の「MySQL サーバーの起動」を参照してください。
  4. 「MySQL サーバー」ノードを右クリックし、「データベースを作成」を選択します。「MySQL データベースの作成」ダイアログが開きます。
    「データベースを作成」コンテキストメニューオプション
  5. 新しいデータベースの名前として「sample」と入力します。root ユーザーまたは選択したユーザーにフルアクセス権を与えます。
    ダイアログで新しいデータベースの名前を入力
  6. 「了解」をクリックします。ダイアログが表示され、sample データベースの名前が sample であることが通知され、このデータベースの表、オブジェクト、およびデータを作成するかどうかを確認されます。
    データベースにサンプルデータを生成することを確認するメッセージ
  7. 「はい」をクリックします。データベースが作成され、データが生成されて、データベースへの接続が追加されます。
    「サービス」ウィンドウの生成された sample データベースとデータベース接続

データベースからの RESTful Web サービスの作成

この課題の目標は、プロジェクトを作成し、データベースからエンティティークラスと RESTful Web サービスを生成することです。

このセクションでは、JavaDB (Derby) データベースと jdbc/sample データソースを使用します。JavaDB は SDK に含まれています。jdbc/sample データソースは、GlassFish とともに NetBeans IDE をインストールするときに、IDE によって自動的に生成されます。

プロジェクトの作成

RESTful Web サービスを作成するには、Java Web アプリケーションプロジェクトが必要です。

プロジェクトを作成するには、次の手順に従います。

  1. 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」から「Java Web」を選択します。「プロジェクト」で「Web アプリケーション」を選択します。「次へ」をクリックします。「新規 Web アプリケーション」ウィザードが開きます。

    代わりに、Maven Web アプリケーションを作成することもできます。「ファイル」>「新規プロジェクト」(Ctrl-Shift-N) を選択します。「カテゴリ」から「Maven」を選択します。「プロジェクト」で「Maven Web アプリケーション」を選択して、「次へ」をクリックします。

  2. 「プロジェクト名」に「CustomerDB」と入力します。「次へ」をクリックします。
  3. 「Java EE 6 Web」または「Java EE 5」を選択します。「サーバー」で、使用するサーバーを選択します。EE 6 プロジェクトでは GlassFish server 3 以降が必要なことに注意してください。残りのオプションもクリックして進み、「完了」をクリックします。

    重要 (Maven プロジェクト): Maven Web アプリケーションを作成するときはサーバーを設定できません。ただし、持続性ユニットを作成するには、事前にサーバーを設定する必要があります。そのため、Maven Web アプリケーションを作成した後、プロジェクトの「プロパティー」を開き、「実行」プロパティーでサーバーを設定してください。プロジェクトの「プロパティー」を開くには、プロジェクトのノードを右クリックし、コンテキストメニューから「プロパティー」を選択します。

    Tomcat 7 と EE6: Tomcat 7 では、NetBeans IDE 7.0 以降で生成された EE6 RESTful サービスは機能しません。NetBeans 7.0 では RESTful サービスにセッションファサードが導入されましたが、Tomcat 7 には EJB 3.1 または EE6 EJB をサポートするプラグインがないためです。この問題への対処の経過については、Apache Geronimo プロジェクトおよび Apache OpenEJB プラグインプロジェクトの Web サイトを参照してください。

エンティティークラスと RESTful サービスの生成

Java Web アプリケーションを作成したら、プロジェクトにエンティティークラスと RESTful Web サービスを追加します。

エンティティークラスと RESTful Web サービスを作成するには、次の手順に従います。

  1. CustomerDB」ノードを右クリックし、「新規」>「その他」>「Web サービス」>「データベースからの RESTful Web サービス」を選択します。「新規 RESTful Web サービス」ウィザードが開き、「データベース表」パネルが表示されます。
    メニューの「データベースからの RESTful Web サービス」オプション
  2. GlassFish サーバーを使用している場合は、「データベース表」パネルの「データソース」ドロップダウンフィールドから「jdbc/sample」データソースを選択します。

    Tomcat を使用している場合は、「jdbc:derby://localhost:1527/sample」を選択します。Derby データベースサーバーが自動的に起動しない場合は、「サービス」ウィンドウの「データベース」タブから起動する必要があります。

    注 (MySQL ユーザー): MySQL ユーザーは新しいデータソースを作成する必要があります。「新規データソース」を選択し、わかりやすい任意の名前を付けて、jdbc:mysql://localhost:3306/sample データベース接続を選択します。この接続は、MySQL に sample データベースを作成したときに作成したものです。
    mysql 接続を使用する新しいデータソース

  3. 「使用可能な表」で「CUSTOMER」を選択し、「追加」をクリックします。CUSTOMER テーブルと関連のある DISCOUNT_CODE テーブルが自動的に「選択した表」に追加されます。画面は次のようになります。

    「新規 データベースからのエンティティークラス」の「データベース表」パネル、CUSTOMER および DISCOUNT_CODE 表を選択
  4. 「次へ」をクリックします。「エンティティークラス」ページが開きます。「パッケージ」で「entities」と入力します。画面は次のようになります。

    注 (EE6 サービス): 「データベースから RESTful Web サービス」ウィザードでは、JAXB 注釈が自動的に生成されます。「データベースからのエンティティークラス」ウィザードで EE6 アプリケーションのエンティティークラスを生成し、後でこれらのエンティティークラスから RESTful Web サービスを作成する場合は、「JAXB 注釈を生成」チェックボックスが選択されていることを確認してください。「エンティティークラスからの RESTful Web サービス」ウィザードを実行する前に、エンティティークラスに JAXB 注釈を手動で追加することもできます。詳細は、「NetBeans でのよりシンプルな RESTful Web サービスの生成」を参照してください。

    「データベースからの RESTful Web サービス」ウィザードの「エンティティークラス」パネルに表示されたパッケージ名
  5. 「次へ」をクリックします。「生成されるクラス」パネルが開きます。このパネルでは、プロジェクトに生成される RESTful Web サービスクラスの場所を設定できます。「生成されるクラス」パネルは、EE5 の RESTful Web サービスと EE6 の RESTful Web サービスとで異なります。これは、EE5 プロジェクトにはコンバータクラスが含まれますが、EE6 Web サービスでは代わりにエンティティークラスに JAXB 注釈が使用されるためです。
    EE5 プロジェクトの「生成されるクラス」ページ

     

  6. デフォルトのパッケージと場所を使用し、「完了」をクリックします。IDE によってエンティティークラスが生成されます。その後、RESTful リソースの登録方法を選択するダイアログが表示されます。EE5 プロジェクトの場合は、web.xml 配備記述子による Jersey RESTful サーブレットアダプタを使用するオプション (デフォルト) と、手動でコーディングするオプションがあります。EE6 プロジェクトの場合は、さらに javax.ws.rs.core.Application のサブクラスを使用するオプション (デフォルト) があります。

    EE5 アプリケーションと EE6 アプリケーションのどちらでも、web.xmlデフォルトの Jersey REST サーブレットアダプタを作成するオプションを選択し、「了解」をクリックします。これは GlassFish の課題 16118 に関連しています。

    EE6 アプリケーションで RESTful リソースを登録するためのオプション

これで、IDE によって RESTful Web サービスが作成されます。処理が完了したら、「プロジェクト」ウィンドウを確認します。生成されたエンティティークラスが entities パッケージに含まれます。サービスは service パッケージに含まれます。EE5 プロジェクトの場合は、converter パッケージおよび「構成ファイル」の下の web.xml にコンバータクラスが含まれます。

注意: プロジェクトの参照の問題を解決することを促すメッセージが表示されることがあります。この場合は、CustomerDB プロジェクトノードを右クリックし、「参照の問題を解決」を選択します。この問題は、このサービスが WebLogic インストールで実行するはじめての Jersey アプリケーションである場合に発生することがあります。この場合、Jersey ライブラリをサーバーにコピーすることによって参照の問題が解決されます。

データベースプロジェクトから作成された完全な EE5 RESTful サービス

データベースから作成された EE6 RESTful Web サービスでは、エンティティークラスの JAXB 注釈およびサービスクラスの EJB セッションファサードが使用されます。これにより、コンバータクラスが不要になり、よりシンプルなコードを生成できます。

データベースプロジェクトから作成された完全な EE6 RESTful サービス

NetBeans IDE 7.0 以降で生成された EE6 RESTful Web サービスの詳細は、「NetBeans でのよりシンプルな RESTful Web サービスの生成」を参照してください。

RESTful Web サービスのテスト

この課題の目標は、アプリケーションを試してみることです。

  1. プロジェクトのノードを右クリックし、「RESTful Web サービスをテスト」を選択します。サーバーが起動し、アプリケーションが配備されます。配備が完了すると、それぞれの Web サービスへのリンク付きで、ブラウザにアプリケーションが表示されます。

    1 つ以上のクラスが存在しておらず、プロジェクトが構築されないというエラーメッセージが「出力」ウィンドウに表示された場合、コンパイル時ライブラリに Jersey ライブラリを追加します。プロジェクトのノードを右クリックし、「プロパティー」を選択します。「プロパティー」ツリーメニューで、「ライブラリ」を選択します。「ライブラリを追加」をクリックし、Jersey ライブラリを参照します。

    ブラウザでの RESTful Web サービステスターの開始ページ

    左側にルートリソースの組があります。ここでは、customersdiscountCodes という名前が付いています。

  2. customers」ノードをクリックします。ブラウザウィンドウで Customers サービスのテスト用パラメータのリストが表示されます。
    ルートリソースのテスト用のパラメータフィールドを示す Restful Web サービスのテストウィンドウ

    次のパラメータを設定できます。

    • テストするメソッドを選択します。ドロップダウンリストから、GET または POST メソッドおよび MIME タイプを選択します。
    • 開始。表示する最初のエンティティー。番号設定は 1 ではなく 0 から開始します。
    • 最大。フェッチするエンティティーの最大数。0 を設定すると、すべてのエンティティーがフェッチされます。
    • 展開レベル。高度な機能。一部のサービスは、無限に繰り返されるツリー階層を返します。このパラメータは、raw データのビューで表示する階層の深さを指定します。
    • クエリー。高度な機能。JPA 構文に従って、XML または JSON ドキュメントを検索します。
  3. メソッドのドロップダウンリストをクリックし、「GET(application/xml)」を選択します。「最大」フィールドに「3」を入力します。その他のパラメータはデフォルトの値のままにし、「テスト」をクリックします。結果が「テスト出力」セクションに表示されます。
    データベースからのカスタマの一覧を表示した RESTful Web サービステスターの出力

    「テスト出力」セクションには 5 つのタブがあります。

    • 「表形式ビュー」は出力結果のドキュメントにあるすべての URI を表示するフラットなビューで、リンクをクリックすることで移動できます。
    • 「raw データのビュー」は実際に戻ってきたデータを表示します。選択した MIME タイプ (application/xml または application/json) により、表示されるデータはそれぞれ XML または JSON 形式です。
    • 「サブリソース」タブには、ルートリソースとサブリソースの URL が表示されます。RESTful Web サービスはデータベースのエンティティークラスに基づいており、ルートリソースはデータベース表を、サブリソースは列を表します。
    • 「ヘッダー」タブには HTTP ヘッダー情報が表示されます。
    • 「HTTP モニター」タブに、送受信された実際の HTTP 要求および応答が表示されます。

    最大 3 エンティティーを表示するよう指定しましたが、6 つの結果が一覧表示されています。その理由を参照するには、「raw データのビュー」タブを開いてください。各エンティティーが <customer> 要素に対応しており、テスト結果には 3 customer しかありません。しかし、Tablular ビューはエンティティーではなく URI を一覧表示しており、各エンティティーには親の <customer> 要素の属性と子の <discountCode> 要素の属性という 2 つの URI があります。そのため、customer エンティティーが 3 つしかなくても、URI は合計 6 つあります。

    RESTful Web サービステスターの「raw データのビュー」ウィンドウ
  4. ブラウザを閉じ、IDE に戻ります。

Google マップ機能の追加

この課題の目標は、Google マップの機能を RESTful Web サービスに追加することです。

  1. エディタで CustomerResource クラスを開きます。
  2. CustomerResource に次のメソッドを追加します。
    @GET
    @Produces("text/html")
    public String getGoogleMap() {
    // Drag and drop the getGoogleMap operation here
    
       return "";
    }
  3. http://www.google.com/apis/maps/signup.html で Google マップのキーにサインアップします。Google マップのキー要求ダイアログには、ユーザーの Web サイトの URL を入力するフィールドがあります。このフィールドに「http://localhost:8080」と入力します。
  4. IDE で「サービス」タブを開き、「Web サービス」ノードを展開します。「Web サービス」で「Google」を展開します。「Google」で「Map Service」を展開します。

    Google のマップサービスを表示したサービスビュー
  5. getGoogleMap 項目をドラッグし、手順 2 で作成した getGoogleMap メソッド本文の return = ""; 行の直前にドロップします。「getGoogleMap SaaS サービスのカスタマイズ」ダイアログが開きます。デフォルト値のままにして、「了解」をクリックします。

    IDE によって、次の try ブロックが CustomerResource クラスの getGoogleMap メソッドに追加されます。

    @GET
    @Produces("text/html")
    public String getGoogleMap() {
    // Drag and drop the getGoogleMap operation here
            
        try {
                 
             String address = "16 Network Circle, Menlo Park";
             java.lang.Integer zoom = 15;
             String iframe = "false";
             RestResponse result = GoogleMapService.getGoogleMap(address, zoom, iframe);
             //TODO - Uncomment the print Statement below to print result.
             //System.out.println("The SaasService returned: "+result.getDataAsString());
        } catch (Exception ex) {
             ex.printStackTrace();
        }
    
        return "";
    
    }
                    

    IDE は、次のクラスおよびリソースを含む org.netbeans.saas と org.netbeans.saas.google のパッケージも作成します。

    • RestConnection: HttpUrlConnection のラッパー
    • RestResponse: HTTP 応答用のラッパー
    • googlemapservice.properties: API キーを格納するプロパティーファイル
    • GoogleMapService:ラッパーメソッドを含むサービスラッパー。RestConnection を使用して Google マップサービスを呼び出します。
    getGoogleMap メソッドが Customer Resource にドロップされたあとに追加されたパッケージを示す「プロジェクト」ウィンドウ
  6. getGoogleMap() の try ブロックで、コメントアウトされた print 文を行 return result.getDataAsString(); に置き換えます。メソッドは次のようになります。
    @GET
    @Produces("text/html")
    public String getGoogleMap() {
    // Drag and drop the getGoogleMap operation here
            
        try {
                 
             String address = "16 Network Circle, Menlo Park";
             java.lang.Integer zoom = 15;
             String iframe = "false";
             RestResponse result = GoogleMapService.getGoogleMap(address, zoom, iframe);
             return result.getDataAsString();
        } catch (Exception ex) {
             ex.printStackTrace();
        }
    
        return "";
    }
  7. googlemapservice.properties を開きます。手順 3 で Google から取得した API キーにペーストします。
  8. CustomerDB project ノードを右クリックし、「RESTful Web サービスをテスト」を選択します。IDE によってプロジェクトがサーバーから配備解除および再配備され、テストクライアントでブラウザウィンドウに表示されます。
  9. 左サイドバーの「customers」を選択します。customers のテスト条件が主区画に表示されます。デフォルトのまま、「テスト」をクリックします。customers の表が開きます。
  10. 表の customer1 をクリックします。その顧客のテストウィンドウが主区画で開きます。ドロップダウンメニューから、text/html MIME タイプを選択します。「テスト」をクリックします。Menlo Park、Network Circle 16 の Google マップが「raw データのビュー」で開きます。
    Menlo Park の Google マップを示す RESTful サービスのテストページ
  11. Menlo Park の住所の Google マップは、データベースにあるすべての顧客に表示されます。顧客の実際の住所の Google マップを表示するには、データベースの各エンティティーに Customer のインスタンスを作成し、各 Customer の address 変数を連続したものに相当する住所を設定します。IDE の 6.5 以前のバージョンを使用している場合、Customer のインスタンスを閉じるため、try ブロックの最後に 1 行追加します。メソッドは次のようになります。変更箇所はボールドになっています。
    @GET
    @Produces("text/html")
    public String getGoogleMap() {
        try {
             Customer c = getEntity();
             String address = c.getAddressline1() + " " + c.getAddressline2() + " " +
                     c.getCity() + " " + c.getState() + " " + c.getZip();
             java.lang.Integer zoom = 15;
             String iframe = "false";
     
             RestResponse result = GoogleMapService.getGoogleMap(address, zoom, iframe);
             return result.getDataAsString();
         
         } catch (Exception ex) {
             ex.printStackTrace();
         } 
    
         //The close() method is only necessary with versions of NetBeans IDE earlier than 6.5
    
             finally {
                 PersistenceService.getInstance().close();
         }
         return "";
                }
  12. RESTful Web サービスを再テストします。顧客の 1 人の text/html MIME タイプを再選択します。データベースにある顧客の住所の Google マップが「raw データのビュー」に表示されます。customer1 の場合、次のマップが表示されます。
    データベースの顧客の住所を示した Google マップ

    注: Google マップが住所を検索できない場合、海を拡大表示します。

Spring Framework での RESTful Web サービス

NetBeans IDE 6.5 および Jersey 0.8 より、Jersey は Spring Framework に統合されます。Spring Framework で Java Web アプリケーションを作成する場合、REST を認識するサーブレットが自動的に作成されます。ただし、Spring 3 には、RESTful Web サービスが EntityManager オブジェクトを注入するために必要な aopalliance.jar は含まれていません。

Spring Framework での RESTful Web サービスの作成

Spring Framework で RESTful Web サービスを作成するには、チュートリアルで説明されている手順を 1 つを除いて繰り返します。サーバーを選択し、エンティティークラスのデータベースまたは最初からの生成で説明されているように「新規プロジェクト」ウィザードで Java Web アプリケーションを作成して、「完了」ではなく「次へ」をクリックします。「フレームワーク」区画が開きます。「Spring Web MVC」を選択し、「完了」をクリックします。

Java Web アプリケーションを作成するときに Spring Framework を選択

RESTful サービスを作成したあと、「Spring」プロジェクトと Spring なしで作成したプロジェクトの間にある次の相違を確認します。

  • 「Spring」プロジェクトには、customerdb.service パッケージに PersistenceService.java と呼ばれるクラスがありません。
  • CustomerResource.javaorg.springframework.transaction.annotation.Transactional をインポートし、いくつかの @Transactional の注釈を含んでいます。

これらの相違はともにトランザクションとエンティティー管理を処理する Spring Framework によるものです。これに対して、ほかのプロジェクトでは、IDE が javax.transaction.UserTransactionjavax.persistence.EntityManager を使用するクラスを作成する必要がありました。Spring Framework では、コードはよりきれいになり、トランザクション処理とエンティティー管理はより効率的になります。

NetBeans IDE の Spring Framework プロジェクトの機能に関する詳細は、「Spring Framework 入門」を参照してください。

プロジェクトへの aopalliance.jar の追加

Spring 3 には aopalliance.jar が含まれていません。アプリケーションで EntityManager を注入するには、このライブラリが必要です。この問題を解決するには、この jar をダウンロードしてクラスパスに追加する必要があります。また、コードから @Error 注釈を削除する必要もあります。課題 193626 および Spring フォーラムを参照してください。

aopalliance.jar を追加するには、次の手順に従います。

  1. http://sourceforge.net/projects/aopalliance/files/aopalliance/1.0/ から aopalliance.jar の zip アーカイブをダウンロードします。
  2. アーカイブを任意の場所に解凍します。
  3. IDE の「プロジェクト」ウィンドウで、Spring RESTful Web サービスプロジェクトのノードを右クリックします。コンテキストメニューが開きます。
    プロパティーノードが表示されたコンテキストメニュー
  4. 「プロパティー」を選択します。「プロパティー」ダイアログが開きます。
  5. 「カテゴリ」区画で「ライブラリ」を選択します。「JAR/フォルダを追加」をクリックします。ファイルシステムブラウザが表示されます。
  6. aopalliance.jar を参照します。絶対パス参照を使用してください。「開く」をクリックします。
    aopalliance.jar の参照
  7. これで、aopalliance.jar がライブラリに追加されます。「了解」をクリックします。
    追加した aopalliance.jar が表示されたライブラリプロパティー
  8. IDE 上部のメニューバーで、「編集」をクリックし、「プロジェクト内を検索...」を選択します。
  9. プロジェクト内ですべての @Error 注釈を検索します。
    「プロジェクト内を検索」ダイアログでの @Error 注釈の検索
  10. コードから @Error 行をすべて削除します。
    削除しようとしている行が強調表示された @Error の検索結果

関連項目

NetBeans IDE を使用した Java EE アプリケーションの開発方法についての詳細は、次のリソースを参照してください。

メーリングリスト に登録することによって、NetBeans IDE Java EE 開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。