3

Netbeansプラットフォームのクイックスタートチュートリアル(http://platform.netbeans.org/tutorials/nbm-quick-start.html)を読んでいますが、「ルックアップを使用したモジュラーアプリケーション」のセクションの6番目の部分を明確に理解していません。 、ヒント:

コンパイル時に、@ ServiceProviderアノテーションは、JDK 6 ServiceLoaderメカニズムに従って、TextFilterインターフェースの実装を登録するファイルを含むMETA-INF/servicesフォルダーを作成します。ServiceProviderアノテーションを提供するUtilitiesAPIモジュールへの依存関係を設定する必要があります。

ユーティリティAPIモジュールに依存関係を設定する必要があるモジュールを誰かが知っていますか?MyFilterで依存関係を設定すると、コンパイラは「シンボルが見つかりません」と通知するためです。

4

2 に答える 2

3

MyFilterプロジェクトをUtilitiesAPIモジュールに依存させる必要があり、コードをから変更する必要があります。

package org.demo.myfilter;

import org.demo.textfilter.TextFilter;

@ServiceProvider(service=TextFilter.class)
public class UpperCaseFilter implements TextFilter {

    public String process(String s) {
        return s.toUpperCase();
    }

}

の中へ

package org.demo.myfilter;

import org.demo.textfilter.TextFilter;
import org.openide.util.lookup.ServiceProvider;

@ServiceProvider(service=TextFilter.class)
public class UpperCaseFilter implements TextFilter {

    public String process(String s) {
        return s.toUpperCase();
    }

}

注:最初にモジュールの依存関係を追加すると、[ソース]メニューの[インポートの修正]項目(CTRL-SHIFT-I / Clover-SHIFT-I)を利用して、2番目の依存関係を自動的に処理できます。

于 2010-03-05T00:49:14.813 に答える
1

わかりました。それをサポートしていない古いバージョンのnetBeansを使用しました。これは6.7バージョン以降で利用可能です

于 2010-03-05T00:38:56.523 に答える