4 Replies Latest reply on Sep 29, 2011 5:08 PM by Jason Porter

    Tomcat-based Seam Solder application has problems to find ExpressionFactoryProducer class

    Adam Victor Brandizzi Newbie

      I 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?