IDEA错误“托管bean必须是一个具体类,或用@decorator注释”

问题描述 投票:0回答:1

在我的Java EE项目中,我有一些抽象课程。 Intellij Idea强调了它们红色,并告诉我:

管理豆必须是混凝土类,或用 @decorator

注释 顶级Java类是托管bean如果将其定义为其他任何Java EE规范的托管bean,或者符合以下所有条件:

它不是非静态内部类别。
    它是一个具体的类,或者是注释 @decorator。
  • 没有用EJB组件定义注释来注释,也没有在ejb-jar.xml.x中声明为EJB bean类。
  • 它具有适当的构造函数 -
  • 类有一个没有参数的构造函数,OR
  • 类声明一个构造函数注释 @inject.
    • 我只想使用抽象类,而没有任何注释。尽管Intellij向我展示了这是我的JBOSS服务器不抱怨的错误。
    任何解释?

我的猜测是,这是设置>编辑>检查> CDI(上下文和依赖项注入)中的托管豆不一致错误检查。它的严重性是错误,因此它将用红色的线条强调。 似乎您真的不在乎这项检查,因此只需取消选择并保存您的更改即可。

从想法提出的建议,我发现有关构造函数的建议是最简单,最逻辑的。
jakarta-ee intellij-idea abstract-class cdi
1个回答
7
投票
@Inject

注释;添加没有参数的构造函数也是一个非常无害的选择。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.