0 Replies Latest reply on Jun 3, 2011 5:09 AM by justinb2002

    Migrated Application from 4.3 to 5.0.1 Taglib Errors Isolation

    justinb2002

      Hi,

       

      We've migrated 2 seam applications from 4.3 to 5.0.1, both applications use the seam version 2.0.2. The applications work perfectly when deployed seperately but when they are deployed together the 2nd application to be accessed falls over with a com.sun.facelets.tag.TagAttributeException:styleClass="fullouter" object is not an instance of declaring class exception.

      In this case this is a div  (xmlns:s="http://jboss.com/products/seam/taglib") and if i remove the jboss-seam-ui.jar from the 2nd applications WAR WEB-INF/lib folder then it works. So it looks like a classloader isolation problem as its using this class in the other project.

       

      The applications both package up a WAR and EJB within an EAR. The jboss-classloading.xml, jboss-web.xml and jboss-app.xml have been configured to no avail.

       

      app1-ear.ear

      WAR

      WEB-INF

      jboss-web.xml

      <jboss-web> 

          <class-loading java2ClassLoadingCompliance="false">

              <loader-repository>

                  seam.jboss.org:archive=app1archive

              </loader-repository>

          </class-loading>

      </jboss-web>

       

      jboss-classloading.xml

      <classloading  xmlns="urn:jboss:classloading:1.0"

                domain="app1.war"

                parent-domain="app1-ear.ear"

                export-all="NON_EMPTY"

                import-all="true">

      </classloading>

      META-INF

      jboss-app.xml

      <jboss-app>

         <loader-repository>

            seam.jboss.org:archive=app1-ear.ear

            <loader-repository-config>

                     java2ParentDelegation=false

           </loader-repository-config>

         </loader-repository>

      </jboss-app>


      jboss-classloading.xml

      <classloading  xmlns="urn:jboss:classloading:1.0"

                domain="app1-ear.ear"

                export-all="NON_EMPTY"

                import-all="true"

                parent-first="false">

      </classloading>

       

      The 2nd application has exactly the same setup obviously subsituting app1 with app2.

       

      If anyone has any ideas that would be great.

       

      Cheers