Tomcat5.5.9 Type mismatch:cannot convert from Integer to int Resolvido

Olá!

Tenho uma aplicação web que utilizava:
JDK1.5.0_11-b03
HIBERNATE 3.3GA
TOMCAT 5.5.17

Rodava normalmente, porém o servidor que eu hospedei utiliza o JDK1.5.0(nãoseioresto) e o tomcat 5.5.9.
Troquei a minha versão do tomcat pra 5.5.9 e descobri q o erro era por causa do tomcat…

Alguém sabe como resolvo isso?

Este é o erro…

[code]Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 9 in the jsp file: /consulta/estcab/consultaEstcab.jsp
Generated servlet error:
Type mismatch: cannot convert from Integer to int

An error occurred at line: 9 in the jsp file: /consulta/estcab/consultaEstcab.jsp
Generated servlet error:
Type mismatch: cannot convert from Integer to int

    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)

[/code]

Olá eloimendes

Pelo erro que gerou fica claro que eh um erro de Cast.

No java 1.4 o Cast de um Integer para int não faz automaticamente, no java 1.5 o problema foi resolvido com o autoboxing.
Tente colocar o metodo intValue() no objeto Integer onde ocorre o erro…

Tem certeza que o jdk é o 5.0???

Esse erro está parecendo que você está usando o jdk 1.4. No eclipse você tem que checar se o compiler do java está marcado para o jdk 5.0.

Window > Preferences > Java > Compiler > …

Tentei colocar o intValue e tbm não funcionou…

Verifiquei e o JDK está configurado pra 1.5 mesmo. Voltei o servidor aki pra tomcat 5.5.17 e rodou certim… O problema é o tomcat 5.5.9 … Alguma luz no fim do túnel???

Resolvi!!!

Tinha outra parte com cast de Integer para int, usei o intValue() como o marcosbrandao disse e funcinou!

Muito obrigado!