3 Replies Latest reply on Apr 13, 2008 2:05 PM by Pete Muir

    Install Packaging

    Tom Goring Apprentice


      I've deployed my application as a packaged EAR and have noticed that my framework overridden components are not getting installed.

      During development I have been deploying these (exploded)to:


      And for deployment under (zipped) under:


      Here is one that is not being installed:

      @Install(precedence = Install.APPLICATION)
      public class DBFaceletsRenderer extends FaceletsRenderer {

      All my other components (without any @Install) are working fine.

      Any ideas?

        • 1. Re: Install Packaging
          Tom Goring Apprentice


          Ok I've got a little further with this.

          The problem is that I'm trying to override a seam-ui.jar component (which lives in the WAR lib dir).  Those classes are not in the classpath of the default jar located in the EAR.  I was getting away with it due to seam hot deploy dev dir.

          I guess the seam deployer was skipping my class as the base class was not in the classpath.

          So my question is now how should I define these WAR seam components? 
          Copy them into the WEB-INF/classes dir and include a seam.properties there ? Create a new jar in the WEB-INF lib dir ?



          • 2. Re: Install Packaging
            Tom Goring Apprentice


            I got this working by deploying those particular classes to WEB-INF/classes and adding a seam.properties there.

            So, if you want to override a component from seam-ui.jar you need to make sure it gets packaged in the war. 

            It would have been nice to get a class not found when the application started up ... would have saved some time !

            • 3. Re: Install Packaging
              Pete Muir Master

              Unless you put a seam.properties in the root of the archive/classpath you want scanning, Seam won't even look at the archive for classes - so it don't get as far as throwing a CNFE. This is an optimisation for startup so that Seam doesn't have to scan every archive in the app server!