3 Replies Latest reply on Dec 13, 2006 3:19 AM by Jens Weintraut

    How to use ice:menuBar with Seam in an EAR application?

    Jens Weintraut Apprentice

      Hi,

      I'm trying to get my application started, but it fails with a NoClassDefFounfError:

      11:21:37,140 WARN [ServiceController] Problem starting service jboss.j2ee:service=EJB3,module=ares.jar
      java.lang.NoClassDefFoundError: com/icesoft/faces/component/menubar/MenuItem


      As you can see this error occurs while the jar is loaded. To create a dynamic menuBar I've to use the above mentioned class in the bean that generaties the menu. The class is in the icefaces-comps.jar which is already in my war file to use the ICEfaces tags.

      My problem now is: Where do I've to put the icefaces-comps.jar so that it can be used by the jar and by the war of my application? I don't want to put it twice in my ear.

      Here's a short overview over the contents of the ear:
      /ares.ear
      - META-INF
       application.xml
       jboss-app.xml
      - /ares.jar
       + com ... (all the session and entity beans)
       - META-INF
       | ejb-jar.xml
       | persistence.xml
       seam.properties
      - /ares.war
       + com ... (resource bundle)
       - WEB-INF
       | - lib
       | | commons-fileupload.jar
       | | el-api.jar
       | | el-ri.jar
       | | icefaces.jar
       | | icefaces-comps.jar
       | | icefaces-facelets.jar
       | | jboss-seam-debug.jar
       | | jboss-seam-ui.jar
       | | selectitems.jar
       | | selectitems-ui.jar
       | components.xml
       | faces-config.xml
       | navigation.xml
       | tomahawk.taglib.xml (I'm currently migrating from tomahawk to ICEfaces)
       | web.xml
       jboss-seam.jar
      


        • 1. Re: How to use ice:menuBar with Seam in an EAR application?
          Jarkko Lietolahti Novice

          Hello,
          My solution was to move needed JARS to EAR root and register those in META-INF/application.xml.


          <application>
          <display-name>TrueConcept</display-name>
          <description>TrueConcept</description>
          <module>
          <web>
          <web-uri>tc3Web.war</web-uri>
          </web>
          </module>

          <module>
          <ejb>tc3EJB.jar</ejb>
          </module>

          <module>
          <ejb>tc3LiferayEJB.jar</ejb>
          </module>

          <module>
          <java>jboss-seam.jar</java>
          </module>
          <module>
          <java>icefaces.jar</java>
          </module>
          <module>
          <java>icefaces-facelets.jar</java>
          </module>
          <module>
          <java>icefaces-comps.jar</java>
          </module>
          <module>
          <java>el-api.jar</java>
          </module>
          <module>
          <java>el-ri.jar</java>
          </module>

          <module>
          <java>backport-util-concurrent.jar</java>
          </module>

          <module>
          <java>selectitems-1.1.0rc1.jar</java>
          </module>

          <module>
          <java>ostermillerutils_1_06_00.jar</java>
          </module>



          </application>


          • 2. Re: How to use ice:menuBar with Seam in an EAR application?
            Jarkko Lietolahti Novice

            Ops, forgot that Quote is broken, below is my EAR's META-INF/application.xml.

            <application>
             <display-name>TrueConcept</display-name>
             <description>TrueConcept</description>
             <module>
             <web>
             <web-uri>tc3Web.war</web-uri>
             </web>
             </module>
             <module>
             <ejb>tc3EJB.jar</ejb>
             </module>
            
             <module>
             <ejb>tc3LiferayEJB.jar</ejb>
             </module>
            
             <module>
             <java>jboss-seam.jar</java>
             </module>
             <module>
             <java>icefaces.jar</java>
             </module>
             <module>
             <java>icefaces-facelets.jar</java>
             </module>
             <module>
             <java>icefaces-comps.jar</java>
             </module>
             <module>
             <java>el-api.jar</java>
             </module>
             <module>
             <java>el-ri.jar</java>
             </module>
             <module>
             <java>backport-util-concurrent.jar</java>
             </module>
             <module>
             <java>selectitems-1.1.0rc1.jar</java>
             </module>
             <module>
             <java>ostermillerutils_1_06_00.jar</java>
             </module>
            </application>