9 Replies Latest reply: Mar 15, 2002 8:47 AM by Slide RSS

    Marking servletjsp as unavailable

    Slide Newbie

      Hi, I'm trying to deploy an ear file on Jboss / Catalina and get the warning "Marking servletjsp as unavailable" before it throws an exception. I'm pretty new to this and struggling. I'm running on Win32. Any insights would be appreciated.

      Thanks

      [INFO,AutoDeployer] Auto deploy of file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/deploy/myapp.ear
      [INFO,J2eeDeployer] Deploy J2EE application: file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/deploy/myapp.ear
      [INFO,J2eeDeployer] Create application myapp.ear
      [INFO,J2eeDeployer] inflate and install WEB module myapp.war
      [INFO,J2eeDeployer] install EJB module myapp.jar
      [INFO,J2eeDeployer] add all ejb jar files to the common classpath
      [INFO,ContainerFactory] Deploying:file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/tmp/deploy/Default/myapp.ear/
      [INFO,ContainerFactory] Deploying Interest
      [INFO,ContainerFactory] Deploying URLForwarder
      [INFO,Interest] Initializing
      [INFO,Interest] Initialized
      [INFO,Interest] Starting
      [INFO,Interest] Started
      [INFO,URLForwarder] Initializing
      [INFO,URLForwarder] Initialized
      [INFO,URLForwarder] Starting
      [INFO,URLForwarder] Started
      [INFO,ContainerFactory] Deployed application: file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/tmp/deploy/Default/myapp.ear/
      [INFO,J2eeDeployer] Starting module myapp.war
      [INFO,EmbeddedCatalinaServiceSX] deploy, ctxPath=/myapp, warUrl=file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/tmp/deploy/Default/myapp.ear/web1005/
      [INFO,EmbeddedCatalinaServiceSX] WebappLoader[/myapp]: Deploying class repositories to work directory C:\download\JBoss-2.4.4_Tomcat-4.0.1\catalina\work\localhost\myapp
      [INFO,EmbeddedCatalinaServiceSX] StandardManager[/myapp]: Seeding random number generator class java.security.SecureRandom
      [INFO,EmbeddedCatalinaServiceSX] StandardManager[/myapp]: Seeding of random number generator has been completed
      [INFO,EmbeddedCatalinaServiceSX] ContextConfig[/myapp]: Added certificates ->request attribute Valve
      [INFO,EmbeddedCatalinaServiceSX] StandardWrapper[/myapp:default]: Loading container servlet default
      [INFO,EmbeddedCatalinaServiceSX] StandardWrapper[/myapp:invoker]: Loading container servlet invoker
      [INFO,EmbeddedCatalinaServiceSX] StandardWrapper[/myapp:jsp]: Marking servletjsp as unavailable
      [ERROR,EmbeddedCatalinaServiceSX] StandardContext[/myapp]: Servlet /myapp threw load() exception
      javax.servlet.ServletException: Error instantiating servlet class org.apache.jasper.servlet.JspServlet
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:829)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3267)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3384)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:454)
      at org.jboss.web.catalina.EmbeddedCatalinaServiceSX.createWebContext(EmbeddedCatalinaServiceSX.java:428)
      at org.jboss.web.catalina.EmbeddedCatalinaServiceSX.performDeploy(EmbeddedCatalinaServiceSX.java:282)
      at org.jboss.web.AbstractWebContainer.deploy(AbstractWebContainer.java:191)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:505)
      at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:459)
      at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:190)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:395)
      at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:233)
      at java.lang.Thread.run(Unknown Source)
      [ERROR,EmbeddedCatalinaServiceSX] ----- Root Cause -----
      java.lang.IncompatibleClassChangeError: Implementing class
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at java.security.SecureClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.access$100(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at javax.management.loading.MLet.findClass(MLet.java:775)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClassInternal(Unknown Source)
      at java.lang.Class.newInstance0(Native Method)
      at java.lang.Class.newInstance(Unknown Source)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:820)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3267)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3384)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:454)
      at org.jboss.web.catalina.EmbeddedCatalinaServiceSX.createWebContext(EmbeddedCatalinaServiceSX.java:428)
      at org.jboss.web.catalina.EmbeddedCatalinaServiceSX.performDeploy(EmbeddedCatalinaServiceSX.java:282)
      at org.jboss.web.AbstractWebContainer.deploy(AbstractWebContainer.java:191)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:505)
      at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:459)
      at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:190)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
      at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:395)
      at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:233)
      at java.lang.Thread.run(Unknown Source)
      [INFO,J2eeDeployer] J2EE application: file:/C:/download/JBoss-2.4.4_Tomcat-4.0.1/jboss/deploy/myapp.ear is deployed.
      [INFO,EmbeddedCatalinaServiceSX] StandardWrapperValve[jsp]: Servlet jsp is currently unavailable

        • 1. Re: Marking servletjsp as unavailable
          Adrian Brock Master

          Have you specifed the environment variable
          JAVA_HOME so that the JSP Compiler can find the java
          compiler?

          Regards,
          Adrian

          • 2. Re: Marking servletjsp as unavailable
            Slide Newbie

            These are the relevent entries in my environment, yes JAVA_HOME is set

            Microsoft Windows XP [Version 5.1.2600]
            (C) Copyright 1985-2001 Microsoft Corp.

            H:\>set
            CATALINA_HOME=C:\download\JBoss-2.4.4_Tomcat-4.0.1\catalina
            CLASSPATH=C:\jdk1.3.1_02\lib\tools.jar
            CommonProgramFiles=C:\Program Files\Common Files
            COMPUTERNAME=BLOODYMARY
            J2EE_HOME=C:\j2sdkee1.2.1
            JAVA_HOME=C:\jdk1.3.1_02
            Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Symantec\pcAnywhere\;C:\download\jakarta-ant-1.4\bin;C:\jdk1.3.1_02\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin
            SERVLETAPI_HOME=C:\download\JBoss-2.4.4_Tomcat-4.0.1\catalina\common
            TOMCAT_HOME=C:\download\JBoss-2.4.4_Tomcat-4.0.1\catalina
            windir=C:\WINDOWS

            H:\>

            • 4. Re: Marking servletjsp as unavailable
              Slide Newbie

              I don't think that post is related, I did a search on my hard disk and there wasn't a servlet.jar file and I'm pretty sure the web.xml isn't malformed - the tomcat-test.ear file distributed with jboss-catalina also has the same problem; notably:

              [INFO,EmbeddedCatalinaServiceSX] StandardWrapper[/jboss:invoker]: Loading container servlet invoker
              [INFO,EmbeddedCatalinaServiceSX] StandardWrapper[/jboss:jsp]: Marking servlet jsp as unavailable
              [ERROR,EmbeddedCatalinaServiceSX] StandardContext[/jboss]: Servlet /jboss threwload() exception
              javax.servlet.ServletException: Error instantiating servlet class org.apache.jasper.servlet.JspServlet

              I have searched on google for this, but couldn't find anything (in my little experience) that seemed relevant.

              Why does Catalina disable servletjsp on startup - it works fine if run seperately.

              Failing a solution to this, is there a guide to getting them running seperately and communicating?

              Thanks

              • 5. Re: Marking servletjsp as unavailable
                Adrian Brock Master

                Try looking for jsdk.jar, I think that contains a servlet
                api as well.

                I've found this reported loads of times on the internet,
                but nobody has reported a solution other than the one
                I posted above.
                It even got posted as a Tomcat bug, but that was closed
                as "INVALID" meaning it's configuration not a bug.
                No explanation what the config correction is:-(

                My only guess, is that you the servlet api somewhere else
                in your classpath and this is confusing Tomcat.

                Regards,
                Adrian

                • 6. Re: Marking servletjsp as unavailable
                  Slide Newbie

                  Didn't find a jsdk.jar file on my system either. I've tried this on a WinXP pro box, a Win2K pro box and a Win2K server box. In each instance with just the tomcat-test.ear file I get the same behaviour. The server was base windows install + jdk 1.3 + j2ee + jboss/catalina only so i'm thinking it's an issue with the latest package on windows.

                  At the moment i'm attempting to do it with standalone catalina + standalone jboss as per this HOWTO http://home01.wxs.nl/~cancr001/tomcat_jboss.html

                  Will post my results if I can get it working.

                  • 7. Re: Marking servletjsp as unavailable
                    Adrian Brock Master

                    "+j2ee"?

                    You mean Sun's RI server?

                    This might be the problem. Is it in your classpath when
                    you start jboss/catalina?

                    Try installing without it.

                    Regards,
                    Adrian

                    • 8. Re: Marking servletjsp as unavailable
                      Slide Newbie

                      No I mean the J2EE SDK.

                      • 9. Re: Marking servletjsp as unavailable
                        Slide Newbie

                        Fixed this eventually. Make sure you don't have j2ee.jar in either jboss/lib/ext or catalina/lib.