编译通过 运行时错误提示是这样的: Exception in thread "main" java.lang.NoClassDefFoundError:a 以下源程序: //a.java public class a{ public static void main(String[] args){ System.out.println("aaaaaaaaaaaaa"); } }
Exception in thread "main" java.lang.NoClassDefFoundError:h/java 是因为你的命令写错 java h.java 应该写成 java a 直接家类名就可以了
你的这个程序是有错的啊 而不是你的编译环境的问题啊 方法首先是 :methodName(); main也是方法,所以需要参数列表。但不是所有的程序都需要参数。 你的main方法是错误的,public static void main 也可以说你的这个类(class a)没有main方法,当然系统会抛出这样的异常: Exception in thread "main" java.lang.NoClassDefFoundError:h/java 你改为 //a.java public class a { public static void main(String[] args) // a legal main method; { System.out.println("aaaaaaaaaaaaa"); } } 在你的文件目录下运行一定通过。明白了嘛?
信我没错的 到 sun。java 下一个重装就好了阿
而且这个错误是在运行命令 ×:>JAVA a 出错的 编译的时候:×:>javac a.java 是没有错误的看看书吧:)
//a.java public class a { public static void main(String[] args) { System.out.println("aaaaaaaaaaaaa"); } }不是applet小程序,肯定要有一个正确的程序入口函数main函数。
//a.java public class a{ public static void main(String[] args){ System.out.println("aaaaaaaaaaaaa"); } } 一定不要忘了: main(String[] args){
还有,最好养成好习惯:class名称中每个单词的第一个字母最好大写。//A.java public class A{ public static void main(String[] args){ ... } }其次,你原程序也有错误,main()一定要用上面的格式书写,如果不明白为什么要这样,推荐你看看《Thinking in Java》,看侯捷翻译的第二版就行(网上有电子书,如果找不到,联系我吧)。再次,你的环境设置也有问题,一般装好J2SDK后,需要在环境变量中添加一个CLASSPATH变量,其值为 .;<j2sdk_path>\lib\tools.jar (<j2sdk_path>代表你的是j2sdk的安装位置,比如CLASSPATH=.;E:\j2sdk\lib\tools.jar );除了CLASSPATH外,还要在原有的环境变量Path中添加一些内容,Path=<原来的内容>;<j2sdk_path>\bin 特别要强调的是:一定一定要在CLASSPATH中加上.这个路径。 关于设置环境变量的内容,在《Thinking in Java》侯捷翻译的第二版中,书的开头就提到了,不明白的话可以去看看。That's all.
这样才正确!
运行时错误提示是这样的:
Exception in thread "main" java.lang.NoClassDefFoundError:a
以下源程序:
//a.java
public class a{
public static void main(String[] args){
System.out.println("aaaaaaaaaaaaa");
}
}
是因为你的命令写错
java h.java
应该写成
java a
直接家类名就可以了
只不过不清楚原因我在dos下,在我的文件的目录下。可以运行
别的目录,就是我写出绝对路径也不行
郁闷
而不是你的编译环境的问题啊
方法首先是 :methodName();
main也是方法,所以需要参数列表。但不是所有的程序都需要参数。
你的main方法是错误的,public static void main
也可以说你的这个类(class a)没有main方法,当然系统会抛出这样的异常: Exception in thread "main" java.lang.NoClassDefFoundError:h/java 你改为
//a.java
public class a
{
public static void main(String[] args) // a legal main method;
{
System.out.println("aaaaaaaaaaaaa");
}
}
在你的文件目录下运行一定通过。明白了嘛?
×:>JAVA a
出错的
编译的时候:×:>javac a.java 是没有错误的看看书吧:)
public class a
{
public static void main(String[] args)
{
System.out.println("aaaaaaaaaaaaa");
}
}不是applet小程序,肯定要有一个正确的程序入口函数main函数。
实际上,类路径是在编译过程就涉及的Java中的概念。classpath就是指明去哪里找用到的类,就这么简单。由于我们的a没用到其它的(非java.lang包中的)类,所以编译时没遇到这个问题。运行时呢,就要指明你的类在哪里了。解决方法嘛,可以用下面的命令运行:
java -classpath . HelloWorld
“.”就代表当前目录。当然这样做有点麻烦(是“太麻烦”!),我们可以在环境变量中设置默认的classpath。方法就照上述设置path那样。将classpath设为:
classpath=.;c:\jdk1.2\lib\dt.jar;c:\jdk1.2\lib\tools.jar 后面的两个建议也设上,以后开发用的着。
public class a{
public static void main(String[] args){
System.out.println("aaaaaaaaaaaaa");
}
}
一定不要忘了:
main(String[] args){
public static void main(String[] args){
...
}
}其次,你原程序也有错误,main()一定要用上面的格式书写,如果不明白为什么要这样,推荐你看看《Thinking in Java》,看侯捷翻译的第二版就行(网上有电子书,如果找不到,联系我吧)。再次,你的环境设置也有问题,一般装好J2SDK后,需要在环境变量中添加一个CLASSPATH变量,其值为 .;<j2sdk_path>\lib\tools.jar (<j2sdk_path>代表你的是j2sdk的安装位置,比如CLASSPATH=.;E:\j2sdk\lib\tools.jar );除了CLASSPATH外,还要在原有的环境变量Path中添加一些内容,Path=<原来的内容>;<j2sdk_path>\bin
特别要强调的是:一定一定要在CLASSPATH中加上.这个路径。
关于设置环境变量的内容,在《Thinking in Java》侯捷翻译的第二版中,书的开头就提到了,不明白的话可以去看看。That's all.