IDEA错误"托管bean必须是具体类,或者使用@ Decorator"进行注释。

时间:2016-02-02 10:18:09

标签: java-ee intellij-idea abstract-class cdi

在我的Java EE项目中,我有一些抽象类。 IntelliJ IDEA强调它们是红色并告诉我:

  

托管bean必须是具体类,或者使用@Decorator注释

     

顶级Java类是托管bean,如果它被任何其他Java EE规范定义为托管bean,或者它满足以下所有条件:

     
      
  • 这不是一个非静态的内部阶级。
  •   
  • 这是一个具体的类,或注释@Decorator。
  •   
  • 它没有使用EJB组件定义注释或在ejb-jar.xml中声明为EJB bean类。
  •   
  • 它有一个合适的构造函数 - 或者:      
        
    • 该类有一个没有参数的构造函数,或
    •   
    • 该类声明一个注释为@Inject的构造函数。
    •   
  •   

我只想使用抽象类,没有任何注释。虽然IntelliJ告诉我这是一个错误,但我的JBoss服务器并没有抱怨它。

有任何解释吗?

1 个答案:

答案 0 :(得分:1)

我的猜测是这是“设置”>“编辑器”>“检查”>“ CDI(上下文和依赖项注入)”中的“受管Bean不一致错误”检查。它的严重性为“错误”,因此将用红色波浪线加下划线。

似乎您并不在乎此检查,因此只需取消选择它并保存您的更改即可。