9 Replies Latest reply on Mar 15, 2002 8:47 AM by slide

    Marking servletjsp as unavailable

    slide

      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

          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

            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:\>

            • 3. Re: Marking servletjsp as unavailable
              • 4. Re: Marking servletjsp as unavailable
                slide

                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

                  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

                    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

                      "+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

                        No I mean the J2EE SDK.

                        • 9. Re: Marking servletjsp as unavailable
                          slide

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