-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
None
Having an "unsatisfied dependency" (at injection point x1 of class X while injecting an instance of interface Y) can have several causes:
- The jar (of class YImpl) is not in the classpath
- The jar (of class YImpl) is in the classpath, but the beans.xml does not exist or is not being picked up (for whatever reason, such as problems with WEB-INF/beans.xml on some containers)
- The jar (of class YImpl) is in the classpath, the beans.xml is picked up but the qualifiers etc don't match.
So, instead of just saying "unsatisfied dependency ...": it should say something like this:
- Unsatisfied dependency ... and there is no concrete implementing class of interface (org.app.Y) in the classpath.
- Unsatisfied dependency ... and the concrete implementing class(es) (org.app.YImpl1, org.app.YImpl2) are not loaded as managed beans through a beans.xml.
- Unsatisfied dependency ... and none of the managed beans of the same type (org.app.YImpl1, org.app.YImpl2) match.
Note: spring's exceptions differentiate between these cases (they explicitly define their appContext.xml set, so case 2 is impossible and case 1 throws a "app context file not found" exception.
- relates to
-
WELD-1032 Lifecycle stacktrace in the exception message: What's causing is my bean being to be created too early?
- Open