Problemas com bloco estático

4 respostas
efsimon

Olá Pessoal.

Estou com o seguinte problema e nao estou conseguindo achar o erro. Tenho um sistema que em linux funciona penfeitamente, um sistema web com o tomcat como servlet engine. Nesse sistema eu tenho um bloco estático que busca informações de um arquivo de propriedades, e quando este sistema roda em linux... blz... tudo funciona... mas quando trago para a minha máquina windows XP o sistema não funciona mais pois ocorre um erro no bloco estático... ele nao é executado. Agora eu nao sei se isso pode ser problema do tomcat, do windows , da jvm no windows ou do conjunto todo.
 OBS:. o bloco estático usa uma variável da jvm para localizar o bloco estático. exemplo: -DSISTEMA_HOMEC:projetosfabricaSISTEMA

valeu..... :D

4 Respostas

efsimon

tem um erro de sintaxe na variável, considerem:

-DSISTEMA_HOME=C:projetosfabricaSISTEMA

maresp
  1. Verifique se todas as configurações no sistema windows estão ok (variáveis de ambiente e demais configurações que vc possui no sistema linux);
  2. Coloque o stack trace do erro pra gente dar uma olhada.
efsimon
2004-07-30 08:41:11 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception

java.lang.ClassCastException

at br.com.framework.web.struts.action.Acao.execute(Acao.java:120)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

at java.lang.Thread.run(Thread.java:534)

Bem ocorreu uma ClassCastException pois nosso framework nao estava preparado para tratar exceções nao que nao fossem filhas de Exception por isso deu esse erro… e o por que do ClassCastException, por que o erro levantado durante a inicialização do bloco estático é um : ExceptionInInitializerError

java.lang.Object
extended byjava.lang.Throwable
extended byjava.lang.Error
extended byjava.lang.LinkageError
extended byjava.lang.ExceptionInInitializerError

abraços

efsimon

Pessoal,

Consegui fazer funcionar e o problema estava com o ambiente, mas tem algumas coisas que foram modificadas:

- a versão do tomcat que eu utilizei não era a da instalação , .exe, foi a versão em zip
 - e para isso foi criada a variável JAVA_HOME

Foi feito apenas isso e o bloco estático funcionou perfeitamente.

abraços

Eduardo

Criado 30 de julho de 2004
Ultima resposta 16 de ago. de 2004
Respostas 4
Participantes 2