回 帖 发 新 帖 刷新版面

主题:[原创]java简单程序报错的问题

我按照书上讲的java环境设置好了java环境变量。可以用java测试。
我编写了一个最基本的java程序
public class hello{

    
    public static void main(String[] args) {
        System.out.println("this is a book!");
    }

}

我放在D盘根目录下,在D盘中执行 java hello.java时,系统提示
Exception in thread "main" java.lang.NoClassDefFoundError: hello/java
Caused by: java.lang.ClassNotFoundException: hello.java
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: hello.java.  Program will exit.

我查到java.lang.NoClassDefFoundError表示环境变量设置问题。我现在不知道怎么改了。因为测试的时候是现实成功的。请大家帮忙指教一下。谢谢

回复列表 (共1个回复)

沙发


你敲得命令错了
执行java程序分为两步
首先要进行编译 生成.class文件 (就是字节码文件)
然后才能够运行

如果你的源文件放在了d:\
那么 要运行hello 分为两步
首先:
d:\ javac hello.java
这一步就是编译 生成字节码文件的过程
然后:
d:\java hello
就可以看到命令行上输出 this is a book 了~

我来回复

您尚未登录,请登录后再回复。点此登录或注册