Seam Persistence 3 Fails on Tomcat 6
damatrix Mar 21, 2011 12:30 PMHi,
I've been attempting to replicate an example of ZK Framework integration with CDI, this time using Seam 3 modules. Everything works alright, including all CDI related configuration specific to a non-Java EE environment, until i attempt to integrate seam-persistence into the application.
As specified in the documentation, I've put the ff in my seam-beans.xml
<t:SeSynchronizations> <s:modifies/> </t:SeSynchronizations> <t:EntityTransaction> <s:modifies /> </t:EntityTransaction>
Also, I've added hibernate 3.5.0-Final to my maven dependency declarations. However, I get a NoClassDefFoundError: javax/ejb/EJBContext. I didn't think I needed any EJB related code to be able to deploy my application with Seam Persistence.
Here's my exception stacktrace
SEVERE: Exception sending context initialized event to listener instance of class org.jboss.weld.environment.servlet.Listener com.google.common.collect.ComputationException: java.lang.NoClassDefFoundError: javax/ejb/EJBContext at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:602) at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:462) at com.google.common.collect.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2045) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:164) at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:61) at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:88) at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:134) at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:377) at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:171) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:521) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1359) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500) at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849) at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NoClassDefFoundError: javax/ejb/EJBContext at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) at java.lang.Class.getDeclaredMethods(Class.java:1791) at org.jboss.weld.util.reflection.Reflections.isTypeOrAnyMethodFinal(Reflections.java:162) at org.jboss.weld.util.Proxies.isClassProxyable(Proxies.java:262) at org.jboss.weld.util.Proxies.isTypeProxyable(Proxies.java:201) at org.jboss.weld.util.Proxies.isTypesProxyable(Proxies.java:229) at org.jboss.weld.introspector.jlr.AbstractWeldAnnotated.<init>(AbstractWeldAnnotated.java:179) at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:145) at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:140) at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50) at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:38) at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:592) ... 41 more Caused by: java.lang.ClassNotFoundException: javax.ejb.EJBContext at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Any idea what I could be doing wrong?