classpath

源自Javaの道日语技术社区原文地址
译者梦梦的幻想乡
見てくれてありがとうござい!!!

クラスパス(译)

classpath

这一章将会讲解classpath的概要和设定方法。

目录

  1. 概要

  2. 设定方法

  3. 设定的注意点

概要

classpath是为了发现符合SDK工具和Java应用的class文件而使用的。java.langjava.io等等,Java核心类(java.core)不需要任何设定,在程序运行时就可以读入。但是Java核心类(java.core)之外的类(个人编写的类或者其他公司提供商的编写的类)在读入的时候必须向SDK工具和Java应用指定class文件的位置。classpath是在那个时候使用的。

设定方法

classpath的设定方法有两个。java、javac等等SDK工具使用的时候,一个方法是添加-classpath设置;另一个方法是设定CLASSPATH环境变量。

-classpath设置

命令 –classpath 类路径1;类路径2 类文件
  • 命令 可以指定javajavacjdbjavah

  • 对于javajdb来说-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

你可能感兴趣的:(java,classpath)