In my Java EE project I have a few abstract classes. IntelliJ IDEA underlines them red and tells me:
Managed bean must be a concrete class, or is annotated with @Decorator
A top-level Java class is a managed bean if it is defined to be a managed bean by any other Java EE specification, or if it meets all of the following conditions:
- It is not a non-static inner class.
- It is a concrete class, or is annotated @Decorator.
- It is not annotated with an EJB component-defining annotation or declared as an EJB bean class in ejb-jar.xml.
- It has an appropriate constructor—either:
- the class has a constructor with no parameters, or
- the class declares a constructor annotated @Inject.
I just want to use abstract classes, without any annotation. Although IntelliJ shows me that this is an error my JBoss server doesn't complain about it.
Any explanation?