Foros del Web » Programación para mayores de 30 ;) » Java »

java.lang.NoSuchMethodError

Estas en el tema de java.lang.NoSuchMethodError en el foro de Java en Foros del Web. me esta dando este error y segun he visto en este foro, en un post antiguo cuales podrian ser las causas, las deshecho todas. la ...
  #1 (permalink)  
Antiguo 30/10/2007, 06:01
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
java.lang.NoSuchMethodError

me esta dando este error y segun he visto en este foro, en un post antiguo cuales podrian ser las causas, las deshecho todas.
la traza del error es:
java.lang.NoSuchMethodError: proyecto.hibernate.Operaciones.cambiarFecha(Ljava/lang/String;)Ljava/util/Date;
proyecto.hibernate.GestorEDao.alta(GestorEDao.java :43)
proyecto.hibernate.struts.action.GestorEAction.alt aCobro(GestorEAction.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchM ethod(DispatchAction.java:269)
org.apache.struts.actions.DispatchAction.execute(D ispatchAction.java:170)
org.apache.struts.chain.commands.servlet.ExecuteAc tion.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAc tion.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase .execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.exe cute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(Ch ainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor .process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(Act ionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(Acti onServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
javax.servlet.http.HttpServlet.service(HttpServlet .java:803)

el post en cuestion es http://www.forosdelweb.com/f45/excep...derror-411633/
el metodo se encuentra en una clase que hace funciones variadas, y la instancio al usarla. el metodo es public, esta bien escrito ya que eclipse me lo reconoce y los parametros estan bien porque eclipse tampoco me da ningun otro error, asi que descarto el error en tiempo de compilacion tambien. Incluso he probado a hacer un deploy del proyecto y nada.

por que podra ser el error???
  #2 (permalink)  
Antiguo 30/10/2007, 10:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: java.lang.NoSuchMethodError

¿Podrias escribir aqui la definicion del metodo, la declaracion basta, y la linea donde lo usas y de donde salen los parametros?

No todos los errores se reconocen en compilacion. La forma correcta de enfrentarse a un error es pensar que la JVM dice ese error por algun motivo concreto y no por que le apetezca, asi que hay que dejar las suposiciones de lado y seguir el hilo del por qué hasta hallar la causa. Las probabilidades estan a favor de que sea el humano el que se equivoca en sus suposiciones, antes que la maquina saque un error por que si.

S!
  #3 (permalink)  
Antiguo 30/10/2007, 12:22
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: java.lang.NoSuchMethodError

bien,
metodo de la clase operaciones:
Código PHP:
public Date cambiarFecha(String fecha2){
        
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); 
        
Date dato=null;
        try{
            
dato formato.parse(fecha2);     
        }catch(
ParseException e){
            
e.printStackTrace();
        }
        return 
dato;
    } 
Operaciones op = new Operaciones();
aqui es donde da el error, ya que vi que no progresaba:
gestorE.setFecha(op.cambiarFecha(form.getFecha())) ;

la fecha del form es de tipo String y la de gestorE es de tipo Date

y vi que es que no entraba en la funcion cambiarFecha
a mi personalmente me parece bastante extraño .
Ultimas noticias, otra funcion que hice tampoco me funciona, da la casualidad(o no) que son las ultimas que añadi
Código PHP:
    public String cambiarCadena(Date fecha1){
        
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); 
        
String dato=formato.format(fecha1);
        return 
dato;
    } 
porque me pasa esto??
  #4 (permalink)  
Antiguo 30/10/2007, 13:57
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: java.lang.NoSuchMethodError

Hola:

Dices que has mirado el post anterior, pero es casi seguro que el motivo es ese. Posiblemente los .class o .jar con los métodos nuevos no están reemplazando a los que tengas en el entorno de ejecución, en el que permanecen los .class antiguos sin los métodos añadidos.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 30/10/2007, 15:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: java.lang.NoSuchMethodError

Lo que te esta diciendo, segun el mensaje de error es que estas llamando al metodo
Date[] Operaciones.cambiarFecha(String[]) asi que comprueba que no estas llamando a ese metodo pasandole arrays, aunque sean de 1 sola posicion, en vez de instancias.

S!
  #6 (permalink)  
Antiguo 31/10/2007, 11:39
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: java.lang.NoSuchMethodError

tenia razon chiudiang porque yo hacia los deploy y no me funcionaba pero ahora probe a borrar la aplicacion del sevidor y hacer otro deploy y ya funciona bien.
menos mal, crei que ya estaba gafada

gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:34.