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

15 respostas
iwallas

E ae pessoal… o que significa essa exception??

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

15 Respostas

K

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.

K

provavelmente você nao colocou a mensagem de erro inteira…

posta ela pra gente poder te dar mais detalhes

maquiavelbona

iwallas:
E ae pessoal… o que significa essa exception??

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

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é!

iwallas

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:

maquiavelbona

Coloque a stacktrace completa, por favor. :slight_smile:

iwallas

ta ai em cima

iwallas

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

maquiavelbona

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

Até!

iwallas

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 :(??

timotta

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

timotta

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

iwallas

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

iwallas
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

maquiavelbona

iwallas:

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

Todos os argumentos de valueOf precisam ser String.

Até!

timotta

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é?

Criado 8 de fevereiro de 2007
Ultima resposta 9 de fev. de 2007
Respostas 15
Participantes 4