0 Replies Latest reply on Nov 28, 2002 12:14 PM by Robin Newton

    Teething troubles

    Robin Newton Newbie

      I am trying to get an application that has been working fine on Weblogic 7 to run on JBoss 3.0.4, but I am encountering a variety of problems.

      The applications is deployed as two ear files, each of which contains one war and one ejb jar.

      I get an exception deploying one of these ear files:-
      java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet.
      (This exception also occurred when trying to just deploy the war file on its own.)

      The "interest" demo servlet didn't suffer this problem, and I couldn't find anything special it did to make javax.servlet.jar available to it.

      I can fix this particular problem by putting "-C $JBOSS_HOME/server/default/lib/javax.servlet.jar" on the JBoss command line.

      The parts of the application in the two ear files communicate via SOAP, or at least they would if it weren't for:-
      java.lang.NoClassDefFoundError: javax/mail/BodyPart.
      This one if fixed by putting "-C $JBOSS_HOME/server/default/lib/mail.jar" on the JBoss command line.

      I'm starting to see a pattern here. So I guess the general question would be: which jars (if any) in the lib directory will be part of the classpath for deployed ejb and web components? (And: how should this properly be configured? And: which part of the documentation did I skip not to know this?)

      My current showstopper problem is that at one point I get:-
      java.lang.IllegalAccessError: try to access class com.mspatial.util.shared.DOMParser$LocalErrorHandler from class com.mspatial.util.shared.DOMParser
      It doesn't make much sense to me, but my best guess so far is that it is because the inner class implements org.xml.sax.ErrorHandler, and perhaps there is an incompatibility between the version of sax that was used in compilation and that available within JBoss. (My guess isn't getting me very far at the moment.)

      Even if this isn't the issue in this case, there are quite a few thrid-party components used by JBoss and our application (xerces, xalan, log4j). If there are version issues, is it possible to control exactly what our deployed components use without messing with what JBoss uses for its own purposes?