Java 为什么在尝试运行应用程序时会出现NoClassDefFoundError?

Java 为什么在尝试运行应用程序时会出现NoClassDefFoundError?,java,noclassdeffounderror,Java,Noclassdeffounderror,好的,所以我制作了一个简单的Java类,它可以简单地打印出“Hello!”。代码如下: public class Hello { public static void main(String[] args) { System.out.println("Hello!"); } } 我通过命令提示符编译了这个类,然后,当我想要运行它时,它给了我一个NoClassDefFoundError,表明类路径有问题。这真是太愚蠢了,因为这是一门一级的课程。我尝试了很多

好的,所以我制作了一个简单的Java类,它可以简单地打印出“Hello!”。代码如下:

public class Hello
{
    public static void main(String[] args)
    {
        System.out.println("Hello!");
    }
}
我通过命令提示符编译了这个类,然后,当我想要运行它时,它给了我一个NoClassDefFoundError,表明类路径有问题。这真是太愚蠢了,因为这是一门一级的课程。我尝试了很多方法,但似乎都无法解决问题


如何修复此问题?

您设置了环境变量CLASSPATH,但它不包括“.”(点)来表示当前目录(默认情况下是这样)。按如下方式运行:

java -cp . Hello
javac Hello.java
这就是“java空间破折号cp空间点空间你好”

一旦你通过了“Hello,World”,你会发现设置类路径一直都是必要的——不管是像这样的手工操作(在现实世界中很少),还是在启动脚本、构建工具或IDE中


使用CLASSPATH环境变量是Java早期遗留下来的一种糟糕的做法。通常,你会发现是苹果的QuickTime安装程序将其设置为某种功能。您不应使用或依赖此变量。

您设置了环境变量CLASSPATH,但它不包括表示当前目录的“.”(点)(默认情况下是这样)。请按如下方式运行:

java -cp . Hello
javac Hello.java
这就是“java空间破折号cp空间点空间你好”

一旦你通过了“Hello,World”,你会发现设置类路径一直都是必要的——不管是像这样的手工操作(在现实世界中很少),还是在启动脚本、构建工具或IDE中


使用CLASSPATH环境变量是Java早期遗留下来的一种糟糕的做法。通常,你会发现是苹果的QuickTime安装程序将其设置为某种功能。您不应该使用或依赖此变量。

您还没有演示如何运行代码。我猜你跑了:

java Hello.class
它尝试运行一个名为
Hello.class
的类。该类的名称为
Hello
,因此您需要:

java Hello
如果您还没有设置CLASSPATH环境变量,那就可以了。否则,请将其设置为包含
的路径,或在命令行中指定它:

java -cp . Hello
当然,这是假设您首先使用如下命令编译代码:

java -cp . Hello
javac Hello.java

您还没有展示如何运行代码。我猜你跑了:

java Hello.class
它尝试运行一个名为
Hello.class
的类。该类的名称为
Hello
,因此您需要:

java Hello
如果您还没有设置CLASSPATH环境变量,那就可以了。否则,请将其设置为包含
的路径,或在命令行中指定它:

java -cp . Hello
当然,这是假设您首先使用如下命令编译代码:

java -cp . Hello
javac Hello.java

你执行了什么命令来编译和运行?@Agadoo:如果Jon的回答帮助你解决了问题,请接受它(使用旁边的复选标记按钮)。这有助于我们知道没有更多的事情要做。您执行了哪些命令来编译和运行?@Agadoo:如果Jon的答案帮助您解决了问题,请接受它(使用旁边的复选标记按钮)。这有助于我们知道没什么可做的了。谢谢你!我真傻,哈哈。。。我做了一百万次,但是由于某种原因,这次我忘了我应该省略这个。谢谢你!我真傻,哈哈。。。我做了一百万次,但由于某种原因,这次我忘了我应该省略.class