Weld will abort the deployment of our application and provide helpful error messages in the server log, when it's unable to identify a single bean for each injection point with typesafe resolution. We would expect to see one or more of unsatisfied or ambiguous dependency errors in this situation.
An unsatisfied dependency occurs when there is not a single bean that is eligible for injection into an injection point. This can be resolved as follows:
By creating a bean that implements the bean type of the injection point and declares all the qualifier annotations present at the injection point
If we already have a bean of the correct bean type and all the qualifier annotations in our application, check whether the bean is on the classpath of the bean archive that contains the injection point with the error
With
beans.xml
, enable an@Alternative
bean of the correct bean type and qualifier annotations
An ambiguous dependency occurs when there is more than a single...