Have you checked to make sure beans.xml is in the right place:
- .jar and .rar:
/META-INF/beans.xml
- .war:
/WEB-INF/beans.xml
- .ear: an EAR can't be a bean archive
Still not working? Does a message about activating CDI appear in the server log, but injection still not work?
Make sure you used the right @Inject annotation. Especially with code completion and dependencies pulling Google's Guice onto the classpath it's easy to land up accidentally choosing
com.google.inject.Inject
instead of javax.inject.Inject
.Yep, I just wasted twenty minutes staring at code that wasn't working before I noticed this. Time to find out which dependency is pulling in Guice, add an exclusion, and nag them to make it an
<optional>true</optional>
dependency. It looks like in my case it's coming from org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven
, so a quick:<exclusion>
<groupId>org.sonatype.sisu</groupId>
<artifactId>sisu-inject-plexus</artifactId>
</exclusion>
ensured that mistake wouldn't happen again.
No comments:
Post a Comment
Captchas suck. Bots suck more. Sorry.