Проблема учебника по платформе NetBeans

Я читаю учебное пособие по быстрому запуску платформы Netbeans ( http://platform.netbeans.org/tutorials/nbm-quick-start.html) и не совсем ясно понимаю 6-ю часть в разделе "Модульное приложение с использованием поиска", наконечник:

Во время компиляции аннотация @ServiceProvider создаст папку META-INF/services с файлом, который регистрирует вашу реализацию интерфейса TextFilter, следуя механизму JDK 6 ServiceLoader. Вам необходимо установить зависимость от модуля API Utilities, который предоставляет аннотацию ServiceProvider.

Кто-нибудь знает, в каком модуле я должен установить зависимость от модуля Utilities API? Потому что, когда я устанавливаю зависимость в MyFilter, компилятор говорит мне, что он "не может найти символ".

2 ответа

Решение

Я понял, я использовал более старую версию NetBeans, которая не поддерживает это. Это доступно с версии 6.7

Вам нужно сделать проект 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), чтобы автоматически позаботиться о второй.

Другие вопросы по тегам