为何出现这句话?Exception in thread"main"java.lang.NoClassDefFoundError:ServerProgram.java

刚装的java,系统是sp2,用命令提示符运行每个java程序都显示Exception in thread"main"java.lang.NoClassDefFoundError:ServerProgram.java
这要怎么解决?

http://java.sun.com/j2se/1.5.0/download.jsp

2.jdk1.5.0的安装
很简单,没什么可说的,只建议修改安装目录名成为jdk1.5.0

3.jdk1.5.0的配置
(假设jdk的安装目录是d:\jdk1.5.0)
右键点击[我的电脑],选择[属性],选择[高级]选项卡,单击[环境变量]按钮,在[系统变量]找到path变量,单击[编辑]按钮,把d:\jdk1.5.0\bin添加到里面,与已有的内容用分号隔开.
在[系统变量]中单击[新建]按钮,在[变量名]文本框中输入名称classpath,在[变量值]文本框中输入.;D:\jdk1.5\lib

4.编写HelloWorld
推荐刚入门时不要使用IDE,用简单的文本编辑器就可以了,比较好用的有Jcreator(可以不用进dos直接编译运行java程序),Editplus,UltraEdit
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
保存为HelloWorld.java,注意文件名必须与声明为public类的类名完全相同,包括大小写

5.编译HelloWorld
在dos下进入HelloWorld.java文件所在目录,使用命令javac HelloWorld.java编译,注意HelloWorld.java大小写一定要正确

6.运行HelloWorld
使用命令java HelloWorld,注意HelloWorld大小写一定要正确,而且不要写.java后缀

7.java入门推荐书籍
java编程思想(thinking in java),虽然现在已经出第三版了,但是还是强烈推荐学习第二版,侯捷翻译的,第三版翻译的不好

8.java API
现在jdk5.0有中文版api了,只不过还没完全翻译完
浏览地址:http://gceclub.sun.com.cn/chinese_java_docs.html
下载地址:论坛里有网友做好的chm格式的API,可以免费下载
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-05-11
环境变量设置正确吗?

你的主类是这样写的吗?
public static void main(String[] args){}或是
public static void main(String args[])
这个应该没有问题,那就是你在Java和javac的时候没有注意文件名大小写的问题。java和DOS不同的是,java区分大小写。

环境变量设置如果正确的话,那就看一下编译时有没有错,编译时需要注意,格式是这样的:
javac classname.java 注意,classname是你写的源程序,大写小一定要对,后边的".java"不能少,然后解译执行:java classname 这里没有后缀名,如果你加上的话,同样会给你报错,同样要注意大小写正确。
第2个回答  2006-05-11
测试方法如下:
cmd进入dos窗口,然后用cd命令进入你的java程序所在的目录,运行java 你的程序名称看能不能运行?如果能,则说明你的环境变量设置不正确,否则就是你的程序的问题,但是你说每个程序都是Exception in thread"main"java.lang.NoClassDefFoundError错误。所以可能是你的环境变量设置的问题。
具体设置方法:(XP系统)
我的电脑--〉右键“属性”--〉高级--〉环境变量-〉添加系统变量path,变量值为你的jdk安装目录的bin路径,如H:\j2sdk1.4.1_03\bin
最好在此时也同时添加classpath变量。具体设置方法网上有很多。
第3个回答  2006-05-11
看样子,应该是你没设好环境变量所致
下面转个帖子
java环境变量

我正在学java,看到很多博客上都有关于java环境变量的设置,我也不厌其烦的重写一变,借此了解一下整个系统的环境变量。

JAVA_HOME,CLASSPATH,PATH.

只有这三个java环境变量。

JAVA_HOME指向的是JDK的安装路径,如C:\j2sdk1.4.2_09,在这路径下你应该能够找到bin、lib等目录。当然,你愿意放哪里,就放哪里。我的是放在c盘根目录

JAVA_HOME=C:\j2sdk1.4.2_09;

PATH环境变量,目的是为了指向JDK的bin目录,这里面放的是各种编译执行命令。

我的设置是:

PATH=C:\j2sdk1.4.2_09\bin;C:\j2sdk1.4.2_09\jre\bin;

需要说明,系统中本身就有PATH环境变量,只要把C:\j2sdk1.4.2_09\bin;C:\j2sdk1.4.2_09\jre\bin;直接放到后面即可,中间有分号间隔。

如果你的JAVA_HOME是别的目录,就对照着该吧。

CLASSPATH最重要。

CLASSPATH=.;C:\j2sdk1.4.2_09\lib;C:\j2sdk1.4.2_09\lib\tools.jar;这时我的设置。这是类的路径。前面加上点和分号,意为首先在当前目录查找,以后你自己编写类的时候自然明白这点。

那么为什么要设置环境变量,以前编写c语言的时候怎么不设置呢?

由于WINDOWS默认的搜索顺序,先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的。你在编写java程序时,在一个指定目录,这里没有编译执行命令,而系统目录里面,也没有编译执行命令。所以放在环境变量里面, 从这里你应该可以看出,环境变量是干什么用的了。简单说就是告诉操作系统到那里去找指定的文件。你要是把系统目录给改了,看你用dos命令还好不好使。

配置完后,在命令提示符下,键入java -version,如果出现java的一些信息,说明配置成功。

参考资料:http://j2mego.bokee.com/3874189.html

第4个回答  2006-05-15
环境变量设置错误。或者和其他的环境变量冲突。

Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答