代码之家  ›  专栏  ›  技术社区  ›  SteveB

CDI编译失败-注释类型不适用于此类声明

  •  1
  • SteveB  · 技术社区  · 7 年前

    我有一个焊接限定符注释声明如下:

    @Qualifier
    @Retention(RUNTIME)
    @Target({Field, Method, Constructor})
    public @interface AccountResponse {
    }
    

    @Stateless
    public interface Responder {
        /* Declares stuff */
    }
    

    合格的实施是:

    @AccountResponse
    public class AccountResponseResponder implements Responder {
        /* Does stuff */
    }
    

    Maven编译器说(在AccountResponseResponder.java上):

    annotation type not applicable to this type of declaration
    

    1 回复  |  直到 7 年前
        1
  •  4
  •   Antoniossss    7 年前

    @Target({Field, Method, Constructor}) 意味着您只能将此注释应用于代码的给定部分。为了启用类注释,您必须添加 Type @Target