2 Replies Latest reply on Nov 16, 2007 1:42 AM by chen leiyu

    help getting deployment to work with maven

    John McClain Newbie

      I have urn through Michael Yuens article and applied ti to my app.
      I have finally gotten it to compile with maven. When I deploy, I get

      16:34:36,657 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=fraud-ear-1.0.ear,jar=jboss-seam-2.0.0-SNAPSHOT.ja
      r,name=EjbSynchronizations,service=EJB3 with dependencies:
      16:34:36,673 INFO [EJBContainer] STARTED EJB: org.jboss.seam.transaction.EjbSynchronizations ejbName: EjbSynchronizations
      16:34:36,673 INFO [EJB3Deployer] Deployed: file:/C:/EnterprisePlatform-4.2.0.GA_CP01_Release/jboss-as/server/default/tmp/dep
      loy/tmp26986fraud-ear-1.0.ear-contents/jboss-seam-2.0.0-SNAPSHOT.jar
      16:34:36,688 INFO [TomcatDeployer] deploy, ctxPath=/fraud, warUrl=.../tmp/deploy/tmp26986fraud-ear-1.0.ear-contents/fraud-we
      b-1.0-exp.war/
      16:34:37,548 ERROR [[/fraud]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.int
      egration.config.JBossJSFConfigureListener
      java.lang.NoClassDefFoundError: javax/el/ELResolver
      


      and later in deployment I get
      16:34:40,954 INFO [Component] Component: org.jboss.seam.core.events, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.sea
      m.core.Events
      16:34:40,970 ERROR [[/fraud]] Exception sending context initialized event to listener instance of class org.jboss.seam.servle
      t.SeamListener
      java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.expressions
       at org.jboss.seam.init.Initialization.addComponent(Initialization.java:976)
       at org.jboss.seam.init.Initialization.installComponents(Initialization.java:903)
       at org.jboss.seam.init.Initialization.init(Initialization.java:548)
       at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
      .
      .
      Caused by: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
       at java.lang.Class.getDeclaredMethods0(Native Method)
       at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
       at java.lang.Class.privateGetPublicMethods(Class.java:2519)
       at java.lang.Class.privateGetPublicMethods(Class.java:2535)
       at java.lang.Class.getMethods(Class.java:1406)
       at org.jboss.seam.Component.hasAnnotation(Component.java:1059)
       at org.jboss.seam.Component.<init>(Component.java:228)
       at org.jboss.seam.Component.<init>(Component.java:216)
       at org.jboss.seam.init.Initialization.addComponent(Initialization.java:961)
      


      HOWEVER, I have el-api and el-ri in my jboss default/lib directory. Those jars contain the ExpressionFactory and ELResolver classes, so why is there a NoClassDefFound during depl9oyment???

      I am running on jboss4.2.0 using seam 2.0.0.GA and have followed the seam2migration.txt document as well as Michael Yuans maven/seam tutorial at http://www.michaelyuan.com/blog/2007/10/09/jboss-seam-project-setup-with-maven-%e2%80%94-part-2-ear-deployment/