0 Replies Latest reply on Aug 21, 2006 8:33 PM by lotrcz88

    Jboss ClassNotFoundError

    lotrcz88

      We are using jboss4.0.4GA with jboss default configuration. We made following changes in $JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml
      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      <!-- Get the flag indicating if the normal Java2 parent first class
      loading model should be used over the servlet 2.3 web container first
      model.
      -->
      false
      <!-- A flag indicating if the JBoss Loader should be used. This loader
      uses a unified class loader as the class loader rather than the tomcat
      specific class loader.
      The default is false to ensure that wars have isolated class loading
      for duplicate jars and jsp files.
      -->
      false
      <!-- The list of package names that should not be loaded without
      delegating to the parent class loader before trying the web app
      class loader. The packages listed here are those tha are used by
      the web container implementation and cannot be overriden.
      This only applies when UseJBossWebLoader=false.
      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

      Somehow, when Jboss starts, we always get following error:
      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      at org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:190)
      at org.jboss.mx.loading.UnifiedLoaderRepository3.loadClassFromClassLoader(UnifiedLoaderRepository3.java:277)
      at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:189)
      at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:511)
      at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      at org.jboss.ws.server.WebServiceDeployerJSE.isWebserviceDeployment(WebServiceDeployerJSE.java:151)
      at org.jboss.ws.server.WebServiceDeployer.create(WebServiceDeployer.java:101)
      at org.jboss.ws.server.WebServiceDeployerJSE.create(WebServiceDeployerJSE.java:66)
      at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.create(SubDeployerInterceptorSupport.java:180)
      at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:91)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)

      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

      It is too weird, we have javax.servlet.jar at $JBOSS_HOME/server/lib/

      It seems that tomcat class loader can't have jars from jboss system class repository.

      Any input would be greatly appreciated. Thanks in advance.