If you create an ear file with an ejb module + web app module (with CODI dependencies) it doesnt work.
Here is the sample: https://github.com/maxtorzito/tomee-tests/tree/master/myenterprise In the sample if you deploy the ear in apps folder it runs, but if you uncomment the CODI dependencies it wont deploy. I tried with the last snapshot (today) and i build a new TomEE from trunk as Romain suggest me, but i have the same problem. Log file: SEVERE: CDI Beans module deployment failed javax.enterprise.inject.UnsatisfiedResolutionException: Api type [org.apache.myfaces.extensions.cdi.jsf.impl.security.spi.SecurityStrategy] is not found with the qualifiers Qualifiers: [@javax.enterprise.inject.Default()] for injection into Field Injection Point, field name : securityStrategy, Bean Owner : [SecurityInterceptor, Name:null, WebBeans Type:MANAGED, API Types:[org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityInterceptor,java.lang.Object,java.io.Serializable], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]] at org.apache.webbeans.util.InjectionExceptionUtils.throwUnsatisfiedResolutionException(InjectionExceptionUtils.java:77) at org.apache.webbeans.container.InjectionResolver.checkInjectionPoints(InjectionResolver.java:193) at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:1034) at org.apache.openejb.cdi.WebappBeanManager.validate(WebappBeanManager.java:207) at org.apache.openejb.cdi.BeansDeployer.validate(BeansDeployer.java:269) at org.apache.openejb.cdi.BeansDeployer.validateInjectionPoints(BeansDeployer.java:215) at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:280) at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:150) at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:61) at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1134) at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:938) at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:124) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Dec 20, 2012 12:17:36 PM org.apache.tomee.catalina.TomcatWebAppBuilder startInternal SEVERE: Error merging Java EE JNDI entries in to war /myenterprise-web: Exception: couldn't start owb context org.apache.openejb.OpenEJBRuntimeException: couldn't start owb context at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:152) at org.apache.openejb.cdi.CdiBuilder.build(CdiBuilder.java:61) at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1134) at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:938) at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:124) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: org.apache.openejb.OpenEJBRuntimeException: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [org.apache.myfaces.extensions.cdi.jsf.impl.security.spi.SecurityStrategy] is not found with the qualifiers Qualifiers: [@javax.enterprise.inject.Default()] for injection into Field Injection Point, field name : securityStrategy, Bean Owner : [SecurityInterceptor, Name:null, WebBeans Type:MANAGED, API Types:[org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityInterceptor,java.lang.Object,java.io.Serializable], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]] at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:323) at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize(ThreadSingletonServiceImpl.java:150) ... 15 more Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Api type [org.apache.myfaces.extensions.cdi.jsf.impl.security.spi.SecurityStrategy] is not found with the qualifiers Qualifiers: [@javax.enterprise.inject.Default()] for injection into Field Injection Point, field name : securityStrategy, Bean Owner : [SecurityInterceptor, Name:null, WebBeans Type:MANAGED, API Types:[org.apache.myfaces.extensions.cdi.jsf.impl.security.SecurityInterceptor,java.lang.Object,java.io.Serializable], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]] at org.apache.webbeans.util.InjectionExceptionUtils.throwUnsatisfiedResolutionException(InjectionExceptionUtils.java:77) at org.apache.webbeans.container.InjectionResolver.checkInjectionPoints(InjectionResolver.java:193) at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:1034) at org.apache.openejb.cdi.WebappBeanManager.validate(WebappBeanManager.java:207) at org.apache.openejb.cdi.BeansDeployer.validate(BeansDeployer.java:269) at org.apache.openejb.cdi.BeansDeployer.validateInjectionPoints(BeansDeployer.java:215) at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication(OpenEJBLifecycle.java:280) ... 16 more