Jakarta ee “观念错误”;托管bean必须是一个具体的类,或者用@Decorator";

Jakarta ee “观念错误”;托管bean必须是一个具体的类,或者用@Decorator";,jakarta-ee,intellij-idea,abstract-class,cdi,Jakarta Ee,Intellij Idea,Abstract Class,Cdi,在我的JavaEE项目中,我有几个抽象类。IntelliJ IDEA将它们标为红色,并告诉我: 托管bean必须是一个具体的类,或者用@Decorator注释 如果顶级Java类被任何其他Java EE规范定义为托管bean,或者如果它满足以下所有条件,那么它就是托管bean: 它不是一个非静态的内部类 它是一个具体的类,或者被注释为@Decorator 它没有使用定义注释的EJB组件进行注释,也没有在EJB-jar.xml中声明为EJB bean类 它有一个合适的构造函数: 该类有一个没有

在我的JavaEE项目中,我有几个抽象类。IntelliJ IDEA将它们标为红色,并告诉我:

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

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

  • 它不是一个非静态的内部类
  • 它是一个具体的类,或者被注释为@Decorator
  • 它没有使用定义注释的EJB组件进行注释,也没有在EJB-jar.xml中声明为EJB bean类
  • 它有一个合适的构造函数:
    • 该类有一个没有参数的构造函数,或者
    • 该类声明了一个带注释的@Inject构造函数
我只想使用抽象类,没有任何注释。尽管IntelliJ告诉我这是一个错误,但我的JBoss服务器并没有对此抱怨


有什么解释吗?

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


您似乎并不真正关心此检查,因此只需取消选择并保存您的更改。

我也有此问题!