0 Replies Latest reply on Jan 21, 2003 4:08 PM by Barry M. Caceres (TRIRIGA)

    Exploded EAR Deployment (library jars)

    Barry M. Caceres (TRIRIGA) Newbie

      I have an exploded EAR file that I am deploying.
      I can easily deploy it as an archived EAR containing
      library JAR and EJB jar archives, but when I explode
      the EAR as well as contained JAR files, I can't seem
      to deploy my library classes.

      My directory structure
      + application.ear (directory -- but named as .ear)
      ++++++ ejb
      +++++++++ MyEJB.jar (directory -- but named as .jar)
      ++++++++++++ META-INF
      ++++++++++++++ MANIFEST.MF (custom manifest file)
      ++++++++++++++ ejb-jar.xml
      ++++++ classes.jar (directory -- but named as .jar)
      +++++++++ META-INF
      ++++++++++++ MANIFEST.MF (default manifest file)
      +++++++++ com
      ++++++++++++ ...

      ejb/MyEJB.jar/MANIFEST.MF contains class-path entry
      for "../classes.jar". When everything is an archive,
      JBoss has no problem finding and deploying the library
      classes. The EJB's can see all the utility classes
      just fine.

      BUT, when I explode it as a directoy, the MainDeployer
      says it has deployed:

      BUT, I get NoClassDefFoundError for several classes after
      JBoss tries to verify the EAR and contained EJB.

      The MainDeployer claims it has "deployed" the package

      And even reports "already deployed" on the next log line.

      I tried removing the ".jar" directory extension and
      changing the class path, but that did not work either.
      In the case of removing the ".jar" extension it gets the
      same error as above.

      Finally, I tried creating a classes.jar archive instead.
      And placing the classes.jar archive in my exploded
      EAR directory. It still fails with the exact same error, except now the "MainDeployer" does not put a "/" after the "classes.jar" name when it reports that it has deployed it.

      How do I get an exploded EAR to deploy when my
      EJB's depend on a library of utility classes?

      Thanks in advance for the help.