本地项目源包的java.lang.NoSuchMethodError?

时间:2015-04-09 16:46:25

标签: java nosuchmethoderror

我一直在努力解决这个问题。 我正在研究一个包含很多软件包的netbeans java项目,起初我更改了gui,但是当我运行代码时它没有反映任何更改,即使我在编译时使用了save,clean,clean并编译目标等。然后我读了一些关于反射和二进制映射的内容,并且该线程中有人建议我更改了包名称,我做了,程序开始反映我对gui的更改。 每次我在所说的Package上处理一个新的java文件时,我都在更改Package名称,但现在我收到了一个错误,我无法用这种方式解决...

这是引发问题的地方

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

这是错误的堆栈跟踪

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" package并且它有一个名为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;
    }
}

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

Ljava/lang/String表示String数组。你的方法需要一个字符串。没有现有的nomUsr方法在参数中接收字符串数组。

public Usuario nomUsr(String usr)

更改方法的定义,或更改Juser.getText()以返回字符串。