2015-04-09 3 views
3

У меня много проблем с этой проблемой. Я работаю над проектом netbeans java с большим количеством пакетов, и сначала я сменил gui, но когда я запустил код, он не отражал никаких изменений, хотя я использовал компиляцию для сохранения, очистки, очистки и компиляции целей среди прочего. Затем я прочитал что-то о отражении и бинарных картах, и кто-то из этого потока предложил мне изменить имя пакета, и я это сделал, и программа начала отражать мои изменения в gui. Я работал изменяя имя пакета каждый раз, когда я работал над новой Java-файл на указанном пакет, но теперь я получаю ошибку, которую я не могу решить этот путь ...java.lang.NoSuchMethodError для локального пакета исходного кода проекта?

Это где проблема брошено

private void AccederActionPerformed(java.awt.event.ActionEvent evt) { 
     us = val.nomUsr(Juser.getText()); 

и это StackTrace ошибки

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: operaciones.Validacion.nomUsr(Ljava/lang/String;)Lobjetos/Usuario; 
    at gui.Inicio.AccederActionPerformed(Inicio.java:1122) 
    at gui.Inicio.JcontrasenaActionPerformed(Inicio.java:1100) 
    at gui.Inicio.access$100(Inicio.java:40) 
    at gui.Inicio$2.actionPerformed(Inicio.java:227) 

В IDE не возвращает никакой компиляции проблемы, такие как неправильное имя ссылки и т.д. и, конечно, Java файл «Validacion» существует внутри пакета «operaciones», и он имеет метод, называемый nomUsr, представляет собой сводный код метода:

public class Validacion { 
    ConexionBD con; 

    /**Constructor 
    @param con database connection*/ 
    public Validacion(ConexionBD con){ 
     this.con=con; 
    } 

    public Usuario nomUsr(String usr){    
      //buscar en la base de datos el nombre del usuario 
      UsuarioBD us = new UsuarioBD(con); 
      Usuario usuario =us.nomUsr(usr); 
      return usuario; 
    } 
} 

Любая помощь будет высоко оценена.

ответ

0

Ljava/lang/String представляют собой массив строк. Вместо этого ваш метод ожидает строку. Нет существующего метода nomUsr, который получает массив строки в параметре.

public Usuario nomUsr(String usr) 

Либо изменить определение вашего метода, или изменить Juser.getText() возвращать строку.

+0

Это тоже странная ошибка. Потому что я просто запускаю проект в режиме отладки, и теперь он отлично работает с той же строкой. Вместо того, чтобы в возвратов новые ошибки – Ces

+0

'Исключение в потоке "АВТ-EventQueue-0" java.lang.NoSuchMethodError: clases.Calculo.getHrs_ganadas_mat() F \t в reporte.CalculoEf.lista_calculos (CalculoEf.java:800) \t в reporte .CalculoEf.CalcularDia_Mod (CalculoEf.java:2334) \t на reporte.CalculoEf.CalcularDia_CC (CalculoEf.java:2430) \t на reporte.RepEficiencia.jBAcpetarRepEfActionPerformed (RepEficiencia.java:587) \t в reporte.RepEficiencia.access $ 100 (RepEficiencia.java:56) \t at reporte.RepEficiencia $ 2.actionPerformed (RepEfiiencia.java:179) ' – Ces

+0

Я тоже отлаживал и отправляю float для getHrs_ganadas_mat() такой s, указанный методом, значение float инициализируется, а класс Calculo находится в пакете clases и имеет метод getHrs_ganadas_mat(), который возвращает float (простой getter, который я здесь не буду включать) – Ces

 Смежные вопросы

  • Нет связанных вопросов^_^