首先这个文件一定要写对, 如果对 c 熟悉的话, 很有可能写成这样:

public static void main(int argc, String[] argv)
{
....
}

  这样是不对的, 不信可以试一试. 由于手头没有 java 的规范, 所以作如下猜想: java 的 application 程序, 必须以 public static void main(String[])开始, 其他不一样的都不行.

  到现在为止, 我们设置方面只设置了 PATH.

  1, 当前路径是指你的 .class 文件在当前目录下,

[HelloWorld]$ javac HelloWorld.java  //这一步不会有多大问题,
[HelloWorld]$ java HelloWorld        // 这一步可能会有问题.

  如果出了象开头那样的问题, 首先确定不是由于敲错命令而出错. 如果没有敲错命令,那么接着做: 

[HelloWorld]$ echo $CLASSPATH 或者 c:HelloWorld>echo %CLASSPATH%

  看看 CLASSPATH 环境变量是否设置了, 如果设置了, 那么用以下命令:

[HelloWorld]$ CLASSPATH= 或者 c:HelloWorld> set CLASSPATH=

  来使它为空, 然后重新运行. 这次用户类路径缺省的是 ".", 所以应该不会有相同的问题了. 还有一个方法是把 "." 加入到 CLASSPATH 中.

[/]$ CLASSPATH=$CLASSPATH:. 或者 c:HelloWorld> set CLASSPATH=%CLASSPATH%;.

  同样也可以成功. Good Luck.

  2, 当你的程序需要第三方的类库支持, 而且比较常用, 可以采用此种方法.比如常用的数据库驱动程序, 写 servlet 需要的 servlet 包等等. 设置方法是在环境变量中加入 CLASSPATH. 然后可以直接编译运行了. 还是以 HelloWorld 为例, 比如你想在根目录中运行它, 那么你直接在根目录下执行

$ java HelloWorld 或者 c:>java HelloWorld

  这样肯定会出错, 如果你的 CLASSPATH 没有改动的话. 我想大家应该知道为什么错了吧, 那么怎么改呢? 前面说过, 用户类路径是一些包含你所需要的类的目录, .jar 档案包, .zip 包. 现在没有生成包, 所以只好把 HelloWorld.class 所在的目录加到 CLASSPAT了, 根据前面的做法, 再运行一次, 看看, 呵呵, 成功了, 换个路径, 又成功了!! 不仅仅可以直接运行其中的类, 当你要 import 其中的某些类时, 同样处理.  不知道你想到没有, 随着你的系统的不断的扩充, (当然了, 都是一些需要 java 的东西).如果都加到这个环境变量里, 那这个变量会越来越臃肿, 虽然环境变量空间可以开很大, 总觉得有些不舒服. 看看下面一个方法.

  3, 在命令行参数中指明 classpath. 还是和上面相同的目标, 在任何目录下执行 HelloWorld, 用这个方法怎么实现呢? 

[/]$ java -cp /HelloWorld HelloWorld 或者 c:>java -cp c:HelloWorld HelloWorld

   可以了. 这是这种方法的简单的应用了. 当你使用了另外的包的时候, 还可以采用用这种方法. 例如:

$ javac -classpath aPath/aPackage.jar:. myJava.java
$ java  -cp aPath/aPackage.jar:. myJava
或者
c:> javac -classpath aPathaPackage.jar;. myJava.java
c:> java  -cp aPathaPackage.jar;. myJava

  这种方法也有一个不方便的的地方是当第三方包所在的路径较长或者需要两个以上包的时候, 每次编译运行都要写很长, 非常不方便, 这时候可以写脚本来解决. 比如一个例子:

compile   (文件, 权限改为可执行, 当前目录)
$ cat compile
---------------------------
#!/bin/bash
javac -classpath aPathaPackage.jar:anotherPathanotherPackage.jar:. m
yJavva.java
---------------------------
run (文件, 权限改为可执行, 当前目录)
$cat run
---------------------------
#!/bin/bash
java -cp aPathaPackage.jar:anotherPathanotherPackage.jar:. myJava
---------------------------
或者:
compile.bat
c:HelloWorld> type compile.bat
-------------------------
javac -classpath aPathaPackage.jar:anotherPathanotherPackage.jar:. m
yJavva.java
-------------------------
run.bat
c:HelloWorld> type run.bat
------------------------
java -cp aPathaPackage.jar:anotherPathanotherPackage.jar:. myJava
------------------------