netbeans平台教程问题

时间:2010-03-04 21:07:32

标签: java netbeans utilities platform openide

我正在阅读Netbeans平台快速入门教程(http://platform.netbeans.org/tutorials/nbm-quick-start.html),我并不清楚“使用查找的模块化应用程序”部分中的第6部分,提示:

  

在编译时,@ ServiceProvider注释将创建一个META-INF / services文件夹,其中包含一个文件,该文件按照JDK 6 ServiceLoader机制注册TextFilter接口的实现。您需要在Utilities API模块上设置依赖项,该模块提供ServiceProvider注释。

有谁知道我应该在哪个模块中设置与Utilities API模块的依赖关系? 因为当我在MyFilter中设置依赖项时,编译器告诉我它“找不到符号”。

2 个答案:

答案 0 :(得分:3)

您需要使MyFilter项目依赖于Utilities API模块而您需要更改代码

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)自动处理第二个模块。

答案 1 :(得分:1)

我明白了,我使用了不支持它的旧版netBeans。从6.7版开始就可以使用