1 Reply Latest reply on Mar 31, 2006 12:57 PM by lafr

    Inside ear war not visible to ejb jars

    yangju

      Our ear used to only have a war component. Now we are using ejb so we need to add ejb jars to the ear. The ejb has dependencies on some of the jars under war. When I invoke the ejb, I got classnotfound error. Appearantly, the ejb cannot see the war. I though both ejb and war use the same classloader, are they? For the ear, we have a scoped loader repository defined in side jboss-app.xml. However, both ejb and war are inside the same ear.

      I googled searched and tried to add Class-Path: in the Manifest.mf of the war, and move those depended jars to a shared library under ear but outside war. But it does not seem working. I ended up move all the jars from the war to the shared library. Then it works. But I don't think this is good idea as some of these wars are really presentation tier classes, such as Struts.

      I am using 4.0.3SP1 and using the default org.jboss.deployment.DeploymentSorter
      So I guess the jars are loaded first than the war? Are they using the same MainDeployer?

      Please help.

      Thanks.

      Richard

        • 1. Re: Inside ear war not visible to ejb jars
          lafr

          Put the jars needed by ejb.jar and web.war into the root of the ear and put an entry in application.xml:

          <module>
           <java>common.jar</java>
           </module>
          

          Leave the web module specific classes in web.war/WEB-INF/lib.
          This works for us.