netbeansopenide

Netbeans annotation error


NetBeans do not accept my code. Why? See the pic.


Solution

  • You need to change the code from

    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();
        }
    
    }
    

    into

    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();
        }
    
    }
    

    Note: You can leverage the Fix Imports item from the Source menu (CTRL-SHIFT-I/Clover-SHIFT-I) to take care of the second one automatically, if you have declared the dependeny between your module and the NetBeans platform Utilities API module