[英]NOClassDefFound error while running a simple java program
这段代码可以很好地编译,但是每当我尝试运行时,都会显示NoClassDefFound错误。 请问可能的原因和解决方法。
package myPack;
public class PasswordVerification
{
public boolean verify(String usrId, String pass)
{
if(usrId.equals("pranjut")&&pass.equals("password"))
{
return true;
}else
{
return false;
}
}
public static void main(String [] main)
{
PasswordVerification vp=new PasswordVerification();
System.out.println(vp.verify("pranjut","password"));
}
}
您确定使用正确的软件包名称前缀(即“ java myPack.PasswordVerification”)进行呼叫吗?
此外,您可以进行一些改进-
您可以通过删除“ else”子句来简化-您实际上只需要1行
返回“ prajnut” .equals(id)&&“ password” .equals(pass):
确保您位于包含myPack文件夹的目录中。 您不应位于myPack文件夹中。 我只是在Linux机器上尝试过,它看起来自动将工作文件夹包括在类路径中,但前提是未设置CLASSPATH环境变量。 如果已设置,则应将当前文件夹添加到其中,或在命令行上指定类路径,如下所示:
java -cp . myPack.PasswordVerification
确保您在根项目中。
如果您在其他类似Unix的操作系统中键入“ dir”(Windows)或“ ls”,则应该看到目录名称“ myPack”。
然后输入java myPack.PasswordVerification
package myPack;
public class PasswordVerification{
public boolean verify(String usrId, String pass){
if("pranjut".equals(usrId) && "password".equals(pass)){
return true;
}
return false;
}
public static void main(String[] main){
PasswordVerification vp=new PasswordVerification();
System.out.println(vp.verify("pranjut","password"));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.