当前位置: 首页 > 知识库问答 >
问题:

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

佴德曜
2023-03-14

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

@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个答案

罗俭
2023-03-14

@Target({字段、方法、构造函数})意味着您只能将此批注应用于代码的给定部分。为了启用类注释,您必须将 Type 添加到@Target

 类似资料:
  • 我正在尝试编译我正在编写的Java Web应用程序,并且我遇到了编译错误,我不知道该怎么办。从我完成的谷歌搜索中,我发现了这个SO问题,但是提问者使用的是EJB,而我的错误是在JPA实体类中。 下面是maven构建错误。 这是我的用户类文件。 我查看了javax.persistence.Index JavaDoc,我的声明是正确的,所以我在这里被难住了,有人知道我做错了什么吗?感谢您的时间和考虑。

  • 我没有正确使用注释吗? 编译错误: 注释工作正常,可以毫无问题地访问该网页。

  • 我正在学习Spring和Data JPA。我对Ehcache有问题。我想缓存我的一个方法的返回值,该方法从数据库返回一些记录。这是一个预配置Ehcache实例的练习(我假设)。问题是,我不能使用注释@cacheable将我的方法标记为它的返回值应该被缓存的方法。我得到一个不兼容类型编译错误(Required:boolean,Found:String)。下面是我的服务层中的一个类,我认为我应该将@c

  • 2.11 和爪哇7。我正在尝试使用@XmlSchema注释我的包如下所示。 然而,我得到了这个编译错误,“注释类型不适用于这种声明” 有人知道为什么会发生这种事吗?

  • 在编译过程中,我遇到一个错误:“注释类型不适用于这种声明”。和细节: 我使用JDK 1.6.18和@XmlElement在这个版本中不可用。我发现JAXB(它的版本)中的主要问题。它在这里被讨论: XmlElement注释用WebParam脱盐 是否可以替换JAXB实现在JavaJRE 1.6 SE中的版本?。 我使用认可的方法($JAVA_HOME/lib/认可)更新了JDK中的JAXB,但它仍

  • 我们有一个相当大的项目,使用maven、Spring boot、querydsl、lombok。我有两个分支,两个版本都编译成功。(>使用@Sl4j生成的log或。 我甚至不知道从哪里开始,所以任何关于如何确定错误的提示都是非常好的。当然,您还需要哪些进一步的信息来帮助? 编辑感谢到目前为止的提示,我现在尝试调整我们的pom。xml配置,使lombok由maven编译器插件的annotationP