返回列表 发帖

请大家看看这个程序有无错误

//HelloWorld.java
public class HelloWorld
{
    public static void main()
    {
        System.out.println("Hello World");
    }
}
可以编译为.class,但是在运行时
Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld
然后后面又写了一大堆,最后写:
Could not find the main class:HelloWorld. Program will exit.
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

更可恶的是,每个.class运行时显示这样的错误(只是名称不同)

TOP

你现在安装的JDK 1.6,还是1.7?

TOP

应该是1.6,因为安装默认目录jdk1.6.0_15

TOP

//HelloWorld.java
public class HelloWorld
{
    public static void main()
    {
        System.out.println("Hello World");
    }
}
可以编译为.class,但是在运行时
Exception in thread "main" jav ...
范文捷 发表于 2010-8-27 23:00


Java会找main方法作为程序入口
1)main方法的名字必须是main
2)同时main方法的参数必须是String[]类型的。

你的main方法没有String[]参数,所以肯定运行不了。

修改了这个之后如果还运行不了。请检查你的CLASSPATH环境变量的设置,保证里面有一项为".;",双引号不要,只要里面的.和;。这一项的作用是将当前目录包含在classpath内。

TOP

还是不行对所有.class
Exception in thread "main" java.lang.NoClassDefFoundError: ****
Caused by: java.lang.ClassNotFoundException: ****
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: ****.  Program will exit.
****指名称

TOP

我将.class默认打开方式设为F:\Program Files\Java\jre6\bin,这样就可以不通过cmd而直接打开,结果何用cmd打开一样,还是这样显示,这使我排除了环境变量设置错误导致无法找到位置从而无法运行的可能

TOP

纠正一下是F:\Program Files\Java\jre6\bin\java.exe

TOP

8# 范文捷


你最好把修改后的代码重新发一下。还有,你最好不要使用jre中的java.exe,用JDK中的java.exe

TOP

//HelloWorld.java
public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello World");
    }
}
jdk中的java无法打开该文件

TOP

10# 范文捷

前段时间出差刚回来,不好意思。在我的电脑上运行是没问题的。你抓下图,吧完整的错误提示贴上来看看吧。

TOP

10# 范文捷

使用cmd中的java命令时,格式是 java HelloWorld

TOP

10# 范文捷

你是不是在cmd中javac编译完成后,输入java HelloWorld.java命令运行的?这样是不对的。应该为java HelloWorld。

TOP

public static void main(String[] args);  要有分号

TOP

返回列表