Ola todos,


me deparei com um erro muito estranho.

tenho uma aplicação web com servlets e JSP´s, e em um servlet eu utilizo uma interface que esta em um pacote diferente do pacote da aplicação.


utilizo o tomcat 4.0.1 e j2sdk 1.3

minha aplicação roda no pacote:
tj
e a interface esta no pacote
snaweb.

todos os pacotes estão localizados em WEB-INF\classes


no servlet eu verifico um parametro  e dependendo do parametro instancio um  objeto diferente que implementa a interface.


esse é o código em questão:


package tj;

snaweb.FormatadorMensagem formatador;



if(request.getParameter("display").equals("view")){
          formatador = new FormatadorProc1GrauView();
          view = consulta1GrauView;
          }
        else if(request.getParameter("display").equals("print")){
                  formatador = new FormatadorProc1GrauPrint();
                   view = consulta1GrauPrint;
                  }
                        else throw new ServletException("Parametros incorretos");



tudo funciona OK em um Servidor Linux Conectiva 7 com kernel 2.4.5, mas ao migrar para um Debian com kernel 2.2.2 :

javax.servlet.ServletException: Error instantiating servlet class tj.ServletConsulta1Grau
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:829)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:615)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
        at java.lang.Thread.run(Thread.java:484)
root cause
java.lang.NoClassDefFoundError: snaweb/FormatadorMensagem
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1534)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:852)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1156)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at java.lang.Class.newInstance0(Native Method)
        at java.lang.Class.newInstance(Class.java:237)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:820)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:615)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
        at java.lang.Thread.run(Thread.java:484)


e após isso o servlet não fica mais acessível:

type Status report
message Servlet ServletConsulta1Grau is currently unavailable
description The requested service (Servlet ServletConsulta1Grau is currently unavailable) is not currently available.


tentei mudar a maquina virtual para 1.3.1 e piorou...  nas duas maquinas o tomcat parou de imprimir a saída padrâo em catalina.out e eu utilizo mensagens em System.out para debugar...


alguem tem idéia do que pode ser isso??????


[]´s


Daniel A.












Responder a