我一直在努力解决这个问题。 我正在研究一个包含很多软件包的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;
}
}
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
Ljava/lang/String
表示String数组。你的方法需要一个字符串。没有现有的nomUsr
方法在参数中接收字符串数组。
public Usuario nomUsr(String usr)
更改方法的定义,或更改Juser.getText()
以返回字符串。