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

Adr*_*ebs 13 abstract-class intellij-idea java-ee cdi

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

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

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

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

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

任何解释?

Kos*_*osi 6

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

看来您并不真正关心此检查,因此只需取消选择它并保存更改即可。