Unsatisfied dependency exception should differentiate between "class is not in
classpath", "class is in classpath but not managed bean" and "class is
in classpath and managed but not like that"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: WELD-964
URL:
https://issues.jboss.org/browse/WELD-964
Project: Weld
Issue Type: Enhancement
Reporter: Geoffrey De Smet
Having an "unsatisfied dependency" can have several causes:
- The jar is not in the classpath
- The jar is in the classpath, but the beans.xml is not being picked up (for whatever
reason, such as problems with WEB-INF/beans.xml on some containers)
- The jar 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 in the
classpath.
- Unsatisfied dependency ... and the concrete implementing class(es) are not loaded as
managed beans through a beans.xml.
- Unsatisfied dependency ... and none of the managed beans of the same type 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.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira