CDI : WELD-001408 Unsatisfied dependencies, how to resolve it?

Since this is the first hit I got searching for WELD-001408, let me also mention one cause which is the lack of a no-arg constructor. This was apparently NOT the case for the OP but it was the cause of the problem in my own case, so this may help others too.


@LocalBean means you will inject the bean and not the interface

@Inject Service service

and not

@Inject ServiceLocal service

Java EE 7 has implicit bean archives by default, i.e. a bean class requires a scope annotation to be discovered as CDI bean.

@Named is not a scope annotation. Try @Dependent instead.

beans.xml is no longer required in CDI 1.1/Java EE 7. If you do have one, then the exact version and the bean-discovery-mode make a difference. See the Bean archives section of the CDI 1.1 spec.

As you didn't post your beans.xml, it's hard to tell whether or not this file is part of the problem.