首先,在安装JDK在XP系统下,路经是C:\Program Files\Java\JDK1.6.0,这时如果你打开命令提示符窗口(您可以在Windows 2000/XP的“开始”菜单中选择“运行”,输入“cmd”命令来打开命令符模式),键入C:\>javac你会发现如下情况——'javac'不是内部或外部命令,也不是可运行的程序或批处理文件。虽然您知道JDK的工具程序是位于bin目录下,但您的操作系统并不知道如何找到这些工具程序。所以当您输入javac尝试执行编译程序时,命令符模式下会告诉您找不到javac工具程序,您必须告诉操作系统,应该到哪些目录下尝试找到您所想使用的工具程序。有几个方法可以进行这项设置,最简便的方法就是设置系统变量中的Path环境变量。
设置Path:
在Windows 2000/XP下可以选择桌面上的“我的电脑”并单击鼠标右键,选择“属性”后切换至“高级”页面,并单击下方的“环境变量”按钮,在“环境变量”对话框中编辑Path变量,Path=C:\Program Files\Java\JDK1.6.0\bin 这时打开cmd窗口再键入:C:\>javac就会出现javac的帮助内容。说明系统已经识别javac.
附录:
bin目录
提供的是JDK的工具程序,包括javac、java、javadoc、appletviewer等程序。
demo目录
一些使用Java编写好的范例程序。
jre目录
JDK自己附带的JRE。
lib目录
工具程序实际上会使用的Java工具类(例如,javac工具程序实际上会去使用tools.jar中的com/sun/tools/javac/Main类)。
src.zip
Java提供的API类的源代码压缩文件。如果将来需要查看API的某些功能是如何实现的,可以查看这个文件中的源代码内容。
设置Classpath:
Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(后面会介绍到Java程序编译完成之后,会以.class文件存在)。
如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。
有几个方法可以设置Classpath,最简单的方法是在系统变量中新增Classpath环境变量。像PATH一样在“系统变量”新加入Classpath=.;C:\Program Files\Java\JDK1.6.0\lib\toola.jar;C:\Program Files\Java\JDK1.6.0\lib\dt.jar;
当然此时也可以设置java_home=C:\Program Files\Java\JDK1.6.0
在记事本中编写原程序如下:
public class Helloworld
{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
文件名:Helloworld.java
存放在C:workspace目录下
打开一个命令符模式
> cd C:\workspace
>javac Helloworld.java 编译正常
>java Helloworld 运行出错
错误信息:Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
就是著名的类路径(classpath)问题啦。实际上,类路径是在编译过程就涉及的Java中的概念。classpath就是指明去哪里找用到的类,就这么简单。由于我们的HelloWorld没用到其它的(非java.lang包中的)类,所以编译时没遇到这个问题。运行时呢,就要指明你的类在哪里了。如果类路径有问题那么运行时就会出现上面的错误.可是我的类路径设置没有问题呀,这就让人相当郁闷拉,用百度搜索解答方法,按照别人说的进行设置都没有解决,就更不明白啦,不明白到底那出错拉。
试着用java -classpath . HelloWorld运行结果输出正确,不懂 (“.”就代表当前目录)
然后再用java HelloWorld运行也不出错拉。奇怪。
真不如用其他的JAVA开发工具,已经自动配备好了环境变量,例如Borland公司的,多好同样是这个程序,我在linux系统下安装JDK并配置好环境变量,编译,运行,过程如下:
ahlian@Ahlian:~$ cd /home/ahlian/workspace
ahlian@Ahlian:~/workspace$ javac HelloWorld.java
ahlian@Ahlian:~/workspace$ java HelloWorld
Hello World!
结果没有错误报告,十分完美,一直对Ubuntu Linux系统十分有好感,感觉界面十分友好,而且是一个真正的个性化的系统,欢迎大家使用。