关于java的classpath问题的总结

      java基础 2005-5-17 11:5
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目录下,那么需要将
d:\swing\jars\swing.jar
包括在classpath中,而不是d:\swing\jars.

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

一句话,要么在系统的CLASSPATH中设置,要么用-CP/-CLASSPATH参数设置,一定要让
编译器或者虚机找到需要的类.
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}