I see. This is because WAR ClassLoaders are isolated, i.e. org.jboss.tools.s2.EchoInjector does not see producer from WAR1. See also http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#inter_module_injection.