java.lang.NoClassDefFoundError:我该如何解决这个问题?

问题描述

我正在使用 NetBeans 编写程序。程序计算圆的面积

代码

public class Pragnya {

    public static void main(String[] args) {
        int r = Integer.parseInt(args[0]);
        double PI = 3.14;
        double area = PI * r * r;
        System.out.println("Area of circle is: "+area);
    }
    
}

显示错误是:

Error: Could not find or load main class Pragnya
Caused by: java.lang.NoClassDefFoundError: pragnya/Pragnya (wrong name: Pragnya)

我该如何解决这个问题?

解决方法

如果您在 netbeans 中运行此程序,则不会/不应该发生此错误(那么您在如何设法错误配置此项目方面做了很多工作!)。如果您从命令行运行它:

cd ..
java pragnya.Pragnya

或者,假设 JDK11+,您可以只运行 java Pragnya.java(不是 javac,然后是 java - 只是 java 源文件)。

如果您想知道为什么需要这样做,请阅读包和类路径结构。