2 Replies Latest reply on Aug 10, 2007 11:59 AM by birwin

    Seam deploying a class from my war file from path WEb-INF/cl

    birwin

      I am trying to deploy a very basic bean as a seam backing bean.

      I am deploying the class in the WEB-INF/classes directory. The JBoss logs indicate that seam scans the war file and finds the annotated class. I beleive Seam then attempts to deploy it as a backing bean, but does not know the classes are in the classes directory. It appears to deploy from the root of the war file. It thinks the classes should be in the package WEB-INF/classes/web/utils. Any ideas why? Here is the error I am getting:

      2007-08-09 11:39:09,592 DEBUG [org.jboss.seam.deployment.ComponentScanner] found component class: WEB-INF/classes/web/utils/Test.class
      2007-08-09 11:39:09,608 DEBUG [org.jboss.seam.deployment.ComponentScanner] could not load class (missing dependency): WEB-INF.classes.web.utils.Test
      java.lang.NoClassDefFoundError: WEB-INF/classes/web/utils/Test (wrong name: web/utils/Test)


      Here is the class:

      import org.jboss.seam.ScopeType;
      
      import org.jboss.seam.annotations.Name;
      import org.jboss.seam.annotations.Scope;
      
      @Scope(ScopeType.CONVERSATION)
      @Name("test")
      public class Test
      {
       private String text = "hello";
      
       public String getText()
       {
       return text;
       }
      
       public void setText(String text)
       {
       this.text = text;
       }
      }


        • 1. Re: Seam deploying a class from my war file from path WEb-IN
          birwin

          Not sure why this fixed it, but as I looked through my log file I noticed that JBoss was complaining because I did not have a facelets class. I was not using facelets (I am using JSP), so I thought the error was minor. I decided to push a facelets.jar file to my server to get rid of the first message and now my annotated bean is being scanned and published correctly by SEAM... I am not sure why this fixed it, however.

          • 2. Re: Seam deploying a class from my war file from path WEb-IN
            birwin

            Well, after more investigation, I discovered it was not my facelets JAR file that fixed this bug, but rather placing a seam.properties file in my WEB-INF/classes directory. The file is empty, but it triggers the seam scanner and deployer to look at the files inside the war's classes directory.