代码改变世界

关于新手对Java包概念的几点疑惑!!!!!

2008-02-03 00:15  和尚释然  阅读(1171)  评论(1编辑  收藏  举报
在我刚开始接触Java的时候,经常范一些有关包的错误,随后就好好仔细研究了包的概念,下面是我学习的心得.希望大家都来PP.
我还是以一段代码为例吧,这样容易理解.

package com.gel;

public class PackageTest
{
    public static void main (String[] args)
    {
          System.out.println("Package Test!");
    }
}

下面我们将编译这个代码文件.
第一种编译:
javac PackageTest.java;
这样直接用java com.gel.PackageTest 运行直接会提示找不到main主方法错误.
正确的运行的方法:
由于我们用了package命令,所以我们要在当前目录下新建"com\gel"这两个文件夹,然后将PackageTest.class文件复制com\gel\文件夹下.
第二种编译:
javac -d . PackageTest.java;
这样的话Java会自动帮我建立com\gel文件夹,并将PackageTest.class文件复制在此路径下.这样的话直接可以用java com.gel.PackageTest可以运行此代码.
如果我们在环境变量中设置了classpath的话,我们在classpath中添加此class文件的路径.例如.....jar;d:\com\gel;例如我将class文件放在d:\com\gel\文件夹下.
这样我们再运行java com.gel.PackageTest的话,java会提示错误.这个错误的原因是我们在classpath环境变量添加了"d:\com\gel;".正确的是添加包所在上一级目录,在这里的话,我们应该将classpath设置为......jar;d:\;这样的话就可以了!
最后讲一下将编译好的包文件夹压缩成jar文件.
jar -cvf test.jar com\gel   运行这条命令时必须在class文件所在的目录下.这里的话是d:\com\gel文件夹下!
压缩好后,将jar文件添加到classpath环境变量下就OK了!