Java.lang.NoSuchMethodError? Nao estou entendo - Urgente!

E ae pessoal… o que significa essa exception??

java.lang.NoSuchMethodError : java.lang.Double.valueOf(D)Ljava/lang/Double;

Essa exceção é lançada se uma aplicação tenta chamar um método especifíco (estático ou de instância) de uma classe, e esta classe não tem mais uma definição deste método.

Normalmente, este erro é pego pelo compilador; este erro pode apenas ocorrer em tempo de execução se a definição de uma classe foi incompatívelmente mudada.

provavelmente você nao colocou a mensagem de erro inteira…

posta ela pra gente poder te dar mais detalhes

[quote=iwallas]E ae pessoal… o que significa essa exception??

java.lang.NoSuchMethodError : java.lang.Double.valueOf(D)Ljava/lang/Double; [/quote]

Por acaso está tentando colocar um Double como argumento do método?

Veja mais informações em: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Double.html#valueOf(double)

Até!

Sabe o q é mais estranho???

Eh o seguinte, isto está dando erro de um arquivo jasper.

No meu tomcat local não dá erro, mas eu gero o war, coloco no tomcat do servidor, e quando vai pra lá da um erro doido… que não está dando localmente!

A classe estava do jeito q mostra mesmo… mas eu ja recompilei 5 vezes e ja fiz undeploy do war e deploy novamente umas 5 vezes… mas me parece q nao está atualizando!!!

java.lang.NoSuchMethodError: java.lang.Double.valueOf(D)Ljava/lang/Double;
	at HistoricoConsumoKwH_1170352280341_727217.evaluateEstimated(HistoricoConsumoKwH_1170352280341_727217:1692)
	at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:246)
	at net.sf.jasperreports.engine.fill.JRCalculator.evaluateEstimated(JRCalculator.java:528)
	at net.sf.jasperreports.engine.fill.JRCalculator.estimateVariables(JRCalculator.java:173)
	at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:765)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1059)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:732)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:641)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
	at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203)
	at GeraPDF.doGet(GeraPDF.java:26)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
	at java.lang.Thread.run(Thread.java:534)

NESTED BY :
net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
	Source text : //Integer.valueOf(Integer.valueOf( Integer.valueOf( ($F{MES11}==null) ? "0" : $F{MES11}.substring(0,$F{MES11}.lastIndexOf(".")) ).intValue() + Integer.valueOf( ($F{MES12}==null) ? "0" : $F{MES12}.substring(0,$F{MES12}.lastIndexOf(".")) ).intValue() + Integer.valueOf( ($F{MES13}==null) ? "0" : $F{MES13}.substring(0,$F{MES13}.lastIndexOf(".")) ).intValue() ).intValue() / 3)
Double.valueOf(Double.valueOf( Double.valueOf( ($F{MES11}==null) ? "0" : $F{MES11} ).doubleValue() + Double.valueOf( ($F{MES12}==null) ? "0" : $F{MES12} ).doubleValue() + Double.valueOf( ($F{MES13}==null) ? "0" : $F{MES13} ).doubleValue() ).doubleValue() / 3)
	at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:257)
	at net.sf.jasperreports.engine.fill.JRCalculator.evaluateEstimated(JRCalculator.java:528)
	at net.sf.jasperreports.engine.fill.JRCalculator.estimateVariables(JRCalculator.java:173)
	at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:765)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1059)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:732)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:641)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
	at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:203)
	at GeraPDF.doGet(GeraPDF.java:26)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
	at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.NoSuchMethodError: java.lang.Double.valueOf(D)Ljava/lang/Double;
	at HistoricoConsumoKwH_1170352280341_727217.evaluateEstimated(HistoricoConsumoKwH_1170352280341_727217:1692)
	at net.sf.jasperreports.engine.fill.JREvaluator.evaluateEstimated(JREvaluator.java:246)
	... 38 more

akele código //Integer eu já tirei, e recompilei varias vezes… deploy…undeploy… reiniciei o tomcat varias vezes… mas nao some! :frowning:

Coloque a stacktrace completa, por favor. :slight_smile:

ta ai em cima

esse NESTED by o que é?? eu ja apaguei akela linha q aparece comentada… e ela nao some de lá :frowning:

Esse NESTED BY está falando que o erro principal ocorre como consequência ou em paralelo ao erro apresentado.

Até!

então é por causa dakela linha ali q aparece logo abaixo do comentário certo?.. primeiro não existe mais comentário no código, segundo

Double.valueOf(
	 Double.valueOf(
	 	 Double.valueOf( ($F{MES11}==null) ? "0" : $F{MES11}).doubleValue() + 
	 	 Double.valueOf( ($F{MES12}==null) ? "0" : $F{MES12}).doubleValue() + 
	 	 Double.valueOf( ($F{MES13}==null) ? "0" : $F{MES13}).doubleValue()
	 ).doubleValue() / 3
)

Eu nao to mandando um Double pro valueOf… e sim um double!

:frowning:

o que está aconteeeeendo :(??

No java 5 temos duas assinaturas para valueOf:

static Double valueOf(double d)
static Double valueOf(String s)

Já o java 1.3 e 1.4 só temos uma:

static Double valueOf(String s)

Este deve ser o seu problema, local vc deve estar utilizando Java 5 e em produção deve estar usando 1.3 ou 1.4

Double em Java 1.4 http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Double.html

Double em Java 5
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Double.html

Uuuuh! pode ser isso! servidor é 1.4 aki, mas eu não estou entendendo o porquê de estar aparecendo akela linha comentada sendo q já tirei! vou fazer o teste aki e colocar pra string

Double.valueOf(
  String.valueOf(
   Double.valueOf(
    Double.valueOf( ($F{MES11}==null) ? "0" : $F{MES11}).doubleValue() + 
    Double.valueOf( ($F{MES12}==null) ? "0" : $F{MES12}).doubleValue() + 
    Double.valueOf( ($F{MES13}==null) ? "0" : $F{MES13}).doubleValue()
   ).doubleValue() / 3
  ).toString()
)

Não funcionou… alguem pode ajudar? puts… to ferrado era pra entregar hoje 16 relatórios… tenho até as 9h pra concertar rsrsrsrs

[quote=iwallas]…
Não funcionou… alguem pode ajudar? puts… to ferrado era pra entregar hoje 16 relatórios… tenho até as 9h pra concertar rsrsrsrs[/quote]

Todos os argumentos de valueOf precisam ser String.

Até!

maquiavelbona tem razão, veja que tem várias chamadas a Double.valueOf ali dentro, talvez seja o caso de você utilizar outro método né?