クラスパス(译)
classpath
这一章将会讲解classpath的概要和设定方法。
目录
概要
设定方法
设定的注意点
概要
classpath是为了发现符合SDK工具和Java应用的class文件而使用的。java.lang
、java.io
等等,Java核心类(java.core
)不需要任何设定,在程序运行时就可以读入。但是Java核心类(java.core
)之外的类(个人编写的类或者其他公司提供商的编写的类)在读入的时候必须向SDK工具和Java应用指定class文件的位置。classpath是在那个时候使用的。
设定方法
classpath的设定方法有两个。java、javac等等SDK工具使用的时候,一个方法是添加-classpath设置;另一个方法是设定CLASSPATH环境变量。
-classpath设置
命令 –classpath 类路径1;类路径2 类文件
命令 可以指定
java
、javac
、jdb
、javah
。对于
java
、jdb
来说-classpath
可以简写成-cp
。类路径 需要指定class文件所在的位置。存储class文件的目录、jar文件、zip文件都可以作为类路径的值。jar文件、zip文件里包含多个压缩归档的class文件。另外,指定多个类路径也是可以的。
Windows系列使用的的分隔符是(;)、UNIX系列使用的分隔符是(:)。
类文件 指定需要执行的class文件。
-classpath 设置的例子
D:\>java -classpath C:\JavaClass1 HelloWorld
#在类路径上指定了C:\JavaClass1、执行HelloWorld程序。
C:\>java -classpath C:\JavaClass1;C:\JavaClass2 HelloWorld
#通过使用(;)指定了多个类路径
C:\>java -classpath C:\JavaArchive1\archive.jar HelloWorld
#在类路径里指定归档文件(archive.jar)
译者注:日文系统里路径表示为¥符号
CLASSPATH环境变量
通过环境变量来指定类路径的方法。一般来说推荐使用-classpath设置的方法。-classpath设置只对运行中的应用有效,与之相对的是,CLASSPATH环境变量对所有的应用都有影响。
Windows系列
设定方法
set CLASSPATH=类路径1;类路径2
解除设定的方法
set CLASSPATH=
启动时启用的方法
Windows95、98
在autoexec.bat文件里指定CLASSPATH环境变量
WindowsME
[程序]->[附件]->[系统工具]->[系统信息]->[工具]->[系统配置使用工具]->[环境]里设置CLASSPATH环境变量
WindowsNT、2000、XP
[系统属性]->[详细]->[环境变量]里设置CLASSPATH环境变量
译者注:Win7/8/10参考该设置即可。
UNIX系列(bash)
设定方法
CLASSPATH=类路径1:类路径2;export CLASSPATH
解除设定的方法
unset CLASSPATH
启动时启用的方法
主目录下环境设置文件
描述在(.bashrc、.bashrc_profile、.profile等等根据OS不同而不同)里使用[设置方法]来执行命令
UNIX系列(csh)
设定方法
setenv CLASSPATH 类路径1:类路径2
设定解除方法
unsetenv CLASSPATH
启动时启用的方法
描述在(.cshrc、/login等等根据OS不同而不同)里使用[设置方法]来执行命令
CLASSPATH环境变量的设置例子
C:\>set CLASSPATH=C:\JavaClass1;C:\JavaClass2
#Windows环境下通过;来设置多个类路径
$ setenv CLASSPATH /usr/local/class1
#UNIX(csh)环境下设置类路径
$ CLASSPATH=/usr/local/class1; export CLASSPATH
#UNIX(bash)环境下设置类路径
设置的注意点
在进行类路径设置的时候,有几个需要应该注意的地方。
如果没有设置CLASSPATH环境变量,处于默认状态下的话,把.(当前目录)下设置类路径,这样的话即使在运行时不设置类路径,也可以执行.(当前目录)下的class文件。
-
在已经制定-classpath设置的环境下,CLASSPATH环境变量的设置将会无效(优先级的问题)。如果要将.(当前目录)也包含在类路径里,需要在-classpath设置的时候把.(当前目录)设置进去。
D:\>java -classpath .;C:\JavaClass1 HelloWorld
-
CLASSPATH环境变量设置的时候,将会被作为默认设置。在这种情况下。.(当前目录)将会无效。为了使它生效,我们在设置CLASSPATH环境变量的时候需要将.(当前目录)也设置进去。在大多数的情况下都应该设置.(当前目录)
C:\>set CLASSPATH=.;C:\JavaClass1
rt.jar、i18n.jar通过-classpath设置为类路径,与CLASSPATH环境变量的状态无关。rt.jar是java的核心类,i18n.jar里包含与国际化有关的类。
原作者
更新日:2005/07/16
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。