Tomcat-based Seam Solder application has problems to find ExpressionFactoryProducer class
brandizzi Sep 18, 2011 10:39 PMI am trying to use the Expressions bean of Seam Solder in a Tomcat 6 application (generated by the Weld archetype org.jboss.weld.archetypes:jboss-javaee6-webapp:1.0.1. I have this dependency in my pom.xml
<dependency> <groupId>org.jboss.seam.solder</groupId> <artifactId>seam-solder</artifactId> <version>${seam.solder.version}</version> </dependency>
(I use this artifact instead of the seam-solder-api and seam-solder-impl because it seems the saner way of dealing with this.)
When I deploy my application, I get this error:
javax.enterprise.inject.CreationException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.jboss.weld.util.reflection.SecureReflections$16.work(SecureReflections.java:395) at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInstantiation(SecureReflectionAccess.java:216) at org.jboss.weld.util.reflection.SecureReflections.newInstance(SecureReflections.java:390) at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:40) at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:57) at org.jboss.weld.injection.Exceptions.rethrowException(Exceptions.java:107) at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:181) at org.jboss.weld.bean.ProducerMethod$1.produce(ProducerMethod.java:149) at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:361) at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:121) at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99) at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87) at org.jboss.weldx.el.org$jboss$weld$beanProducerMethod-org$jboss$seam$solder$el$ExpressionFactoryProducermethod_createExpressionFactory(javax$enterprise$inject$spi$BeanManager)_$$_WeldClientProxy.createValueExpression(org$jboss$weld$beanProducerMethod-org$jboss$seam$solder$el$ExpressionFactoryProducermethod_createExpressionFactory(javax$enterprise$inject$spi$BeanManager)_$$_WeldClientProxy.java) at org.jboss.seam.solder.el.Expressions.evaluateValueExpression(Expressions.java:143) at org.jboss.seam.solder.el.Expressions.evaluateValueExpression(Expressions.java:185) at br.com.devmedia.seam3.bean.ChamadorDeBeans.getIdade(ChamadorDeBeans.java:34) 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 javax.el.BeanELResolver.getValue(BeanELResolver.java:62) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71) at org.apache.el.parser.AstValue.getValue(AstValue.java:123) at org.apache.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:42) at org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:47) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:55) at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:106) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178) at javax.faces.component.UIOutput.getValue(UIOutput.java:164) at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:351) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:269) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) 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.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.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:680) Caused by: java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory; at org.jboss.seam.solder.el.ExpressionFactoryProducer.createExpressionFactory(ExpressionFactoryProducer.java:37) 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.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305) at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299) at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188) at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:169) ... 51 more
What can be the problem?