关于java的classpath问题的总结1

来源:百度文库 编辑:神马文学网 时间:2024/04/27 15:42:41

                                                                          关于java的classpath问题的总结
      1.如果编译(javac.exe)或者运行(java.exe)时没有使用-CP或者-CLASSPATH参数,那么编译或者运行所使用到的所有类必须在系统的环境变量CLASSPATH所指定的路径或者JAR/ZIP文件中能够找到.

     2.如果编译(javac.exe)或者运行(java.exe)时使用-CP或者-CLASSPATH参数,那么系统的环境变量CLASSPATH将不起作用,JAVAC或者JAVA将转到-CP或者-CLASSPATH参数指定的路径或JAR/ZIP文件中查找所需的类.除非-CP或者-CLASSPATH也引用系统的环境变量CLASSPATH,例如:
       javac -cp %CLASSPATH%;d:\mylib MyClass.java

     3.CLASSPATH设置到包的包就可以了.例如com.buaa.bbs.HelloWorld类,它的class文件的绝对路径d:\myproject\lib\com\buaa\bbs\HelloWorld.class,为了能够找到这个类,只需要使classpath包括目录d:\myproject\lib就可以了.

    4.如果类被压缩在JAR或者ZIP文件中,classpath必须包括该文件的访问绝对路径,而不是该文件所在的目录.例如swing.jar存储在d:\swing\jars目录下,那么需要将classpath设定为d:\swing\jars\swing.jar,包括在classpath中,而不是d:\swing\jars.

    5.不要忘记了将当前路径包括在classpath下.因为我们在编写一些小例子的时候,我们一般在当前路径下编译或者运行.例如可以在AUTOEXEC.BAT中:
    set CLASSPATH=.;d:\lib;e:\jdk1.2.2

      一句话,要么在系统的CLASSPATH中设置,要么用-CP/-CLASSPATH参数设置,一定要让编译器或者虚机找到需要的类.