在我的Java EE项目中,我有一些抽象类。 IntelliJ IDEA强调它们是红色并告诉我:
托管bean必须是具体类,或者使用@Decorator注释
顶级Java类是托管bean,如果它被任何其他Java EE规范定义为托管bean,或者它满足以下所有条件:
- 这不是一个非静态的内部阶级。
- 这是一个具体的类,或注释@Decorator。
- 它没有使用EJB组件定义注释或在ejb-jar.xml中声明为EJB bean类。
- 它有一个合适的构造函数 - 或者:
- 该类有一个没有参数的构造函数,或
- 该类声明一个注释为@Inject的构造函数。
我只想使用抽象类,没有任何注释。虽然IntelliJ告诉我这是一个错误,但我的JBoss服务器并没有抱怨它。
有任何解释吗?
答案 0 :(得分:1)
我的猜测是这是“设置”>“编辑器”>“检查”>“ CDI(上下文和依赖项注入)”中的“受管Bean不一致错误”检查。它的严重性为“错误”,因此将用红色波浪线加下划线。
似乎您并不在乎此检查,因此只需取消选择它并保存您的更改即可。