结构
可通过对JDK工具使用-classpath选项(首选方法)或设置CLASSPATH环境变量来设置类路径。
C:>jdkTool-classpathpath1;path2...
C:>setCLASSPATH=path1;path2...
每个path以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:
对于包含.class文件的.zip或.jar文件,路径以.zip或.jar文件名结尾。
对于未命名包中的.class文件,路径以包含.class文件的目录结尾。
对于已命名包中的.class文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。
用分号来分隔多个项目。使用set命令时,需要省略等号两边的空格(=)。其中jdkTool可以为java、javac、javadoc,等等。有关详细列表,参见JDK开发工具。
说明
类路径告诉Java应用程序去哪里查找第三方和自定义类--即不是Java扩展或Java平台一部分的类。在JDK1.2中,JVM和其他JDK工具通过依次搜索平台库、库扩展和类路径来查找类(有关搜索策略的详细信息,参见如何查找类)。
多数应用程序的类库都会充分利用扩展机制。因此,只有想要加载某个类库(a)未位于当前目录或其分枝包中且(b)未位于扩展机制所指定的位置时,才需设置类路径。
如果用户是从旧版本JDK升级而来,则启动设置可能包括不再需要的CLASSPATH设置。这时应该删除任何非应用程序特定的设置。有些使用Java虚拟机的第三方应用程序可能修改CLASSPATH环境变量以包括它们使用的类库。这种设置可以保留。
可通过在调用JVM或其他JDK工具时使用Java工具的-classpath选项改变类路径(例如:java-classpath...)。这是改变类路径的首选方法。还可通过使用CLASSPATH环境变量改变类路径。
注意:JDK1.2缺省类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行开关将覆盖缺省值,因而如果想要在搜索路径中包括当前目录,则必须在新设置中包括“.”。
类可以存储在目录(文件夹)或归档文件(例如classes.zip或classes.jar)中。有关归档文件的详细信息和类路径的工作原理,参见本文档最后的理解类路径和包名。
重要说明:JDK旧版本在缺省类路径中还包括<jdk-dir>/classes项。该目录仅供JDK使用,且不用于应用程序类。应用程序类应该放置在JDK外部的目录。这样,安装新JDK时不必需要重新安装应用程序库。为了与旧版本的兼容性,使用<jdk-dir>/classes目录作为类库的应用程序在当前版本中仍能运行,但不能保证在以后的版本中它们还能运行。
使用Java工具的-classpath选项
Java工具java、jdb、javac和javah具有-classpath选项,在工具运行时它将取代缺省类路径或由CLASSPATH环境变量所指定的类路径。这是改变类路径设置的推荐方法,因为这样每个应用程序可具有它所需的类路径而又不会干扰其他应用程序。
运行时工具java和jdb还具有-cp选项。该选项是-classpath的缩写。
对于非常特殊的情况,java和javac都具有开关,使得可改变它们使用的路径以查找它们自己的类库。但是,绝大多数用户从来都不会用到这些开关。