java classpath深入详解(转)
http://developer.51cto.com/art/200509/2786.htm
设置类路径
结构
可通过对 JDK 工具使用 -classpath 选项(首选方法)或设置 CLASSPATH 环境变量来设置类路径。
C:> jdkTool -classpath path1;path2... C:> set CLASSPATH=path1;path2...
每个 path 以文件名或目录结尾,该文件名或目录取决于将类路径设置成什么:
对于包含 .class 文件的 .zip 或 .jar 文件,路径以 .zip 或 .jar 文件名结尾。
对于未命名包中的 .class 文件,路径以包含 .class 文件的目录结尾。
对于已命名包中的 .class 文件,路径以包含“root”包(完整包名中的第一个包)的目录结尾。
用分号来分隔多个项目。使用 set 命令时,需要省略等号两边的空格(=)。其中 jdkTool 可以为 java、javac、javadoc,等等。有关详细列表,参见 JDK 开发工具。
说明
类路径告诉 Java 应用程序去哪里查找第三方和自定义类 -- 即不是 Java 扩展或 Java 平台一部分的类。在 JDK 1.2 中,JVM 和其他 JDK 工具通过依次搜索平台库、库扩展和类路径来查找类(有关搜索策略的详细信息,参见如何查找类)。
多数应用程序的类库都会充分利用扩展机制。因此,只有想要加载某个类库 (a) 未位于当前目录或其分枝包中 且 (b) 未位于扩展机制所指定的位置时,才需设置类路径。
如果用户是从旧版本 JDK 升级而来,则启动设置可能包括不再需要的 CLASSPATH 设置。这时应该删除任何非应用程序特定的设置。有些使用 Java 虚拟机的第三方应用程序可能修改 CLASSPATH 环境变量以包括它们使用的类库。这种设置可以保留。
可通过在调用 JVM 或其他 JDK 工具时使用 Java 工具的 -classpath 选项改变类路径(例如: java -classpath ...)。这是改变类路径的首选方法。还可通过使用 CLASSPATH 环境变量改变类路径。
注意:JDK 1.2 缺省类路径是当前目录。设置 CLASSPATH 变量或使用 -classpath 命令行开关将覆盖缺省值,因而如果想要在搜索路径中包括当前目录,则必须在新设置中包括“.”。
类可以存储在目录(文件夹)或归档文件(例如 classes.zip 或 classes.jar)中。有关归档文件的详细信息和类路径的工作原理,参见本文档最后的理解类路径和包名。
重要说明:JDK 旧版本在缺省类路径中还包括 /classes 项。该目录仅供 JDK 使用,且不用于应用程序类。应用程序类应该放置在 JDK 外部的目录。这样,安装新 JDK 时不必需要重新安装应用程序库。为了与旧版本的兼容性,使用 /classes 目录作为类库的应用程序在当前版本中仍能运行,但不能保证在以后的版本中它们还能运行。
使用 Java 工具的 -classpath 选项
Java 工具 java、jdb、javac 和 javah 具有 -classpath 选项,在工具运行时它将取代缺省类路径或由 CLASSPATH 环境变量所指定的类路径。这是改变类路径设置的推荐方法,因为这样每个应用程序可具有它所需的类路径而又不会干扰其他应用程序。
运行时工具 java 和 jdb 还具有 -cp 选项。该选项是 -classpath 的缩写。
对于非常特殊的情况,java 和 javac 都具有开关,使得可改变它们使用的路径以查找它们自己的类库。但是,绝大多数用户从来都不会用到这些开关。
使用 CLASSPATH 环境变量
如前一节中所述,一般用户将想要使用 -classpath 命令行选项。本节将介绍如何设置 CLASSPATH 环境变量或清除以前安装遗留下的设置。
设置 CLASSPATH
在 DOS 提示符下,可用 set 命令修改 CLASSPATH 环境变量。其格式为:
set CLASSPATH=path1;path2 ...
路径应该以指定驱动器的字母开头,例如 C:\...。这样,在偶然切换到不同驱动器时仍可找到类(例
java classpath深入详解(转)的更多相关文章
- JAVA命令参数详解
JAVA命令参数详解 JAVA命令详解 结构 说明 Java 和 OldJava JIT 选项 另请参阅 结构 java [ options ] class [ argument ... ] java ...
- Java类加载器详解
title: Java类加载器详解date: 2015-10-20 18:16:52tags: JVM--- ## JVM三种类型的类加载器- 我们首先看一下JVM预定义的三种类型类加载器,当一个 J ...
- Java SPI机制详解
Java SPI机制详解 1.什么是SPI? SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制.SPI是一种动态替换发现的机制, 比如有个 ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Java 序列化Serializable详解
Java 序列化Serializable详解(附详细例子) Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连 ...
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- 最新java数组的详解
java中HashMap详解 http://alex09.iteye.com/blog/539545 总结: 1.就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java ...
- JAVA IO 类库详解
JAVA IO类库详解 一.InputStream类 1.表示字节输入流的所有类的超类,是一个抽象类. 2.类的方法 方法 参数 功能详述 InputStream 构造方法 available 如果用 ...
- 转:Java HashMap实现详解
Java HashMap实现详解 转:http://beyond99.blog.51cto.com/1469451/429789 1. HashMap概述: HashMap是基于哈希表的M ...
随机推荐
- python3.x随手笔记2
对象,价值观和类型 对象 Python的抽象的数据. 所有的数据在一个Python程序 表示对象或对象之间的关系. (在某种意义上,在 符合冯诺依曼模型的代码也“存储程序计算机” 由对象.) 每一个对 ...
- 《Java程序设计》实验四 实验报告
实验四 Android开发基础 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 ...
- Hadoop-env.sh[翻译]
说明: 某天 ,把hadoop-env.sh的注释看了看 , 感觉受益匪浅,于是想要写一篇告诉大家,文档是最靠谱的,鉴于我的水平有限,只能翻译大概,切勿吐槽,提建议请留言 摘要: 1.这个文件中只有J ...
- uva--1339 - Ancient Cipher(模拟水体系列)
1339 - Ancient Cipher Ancient Roman empire had a strong government system with various departments, ...
- poj1122 FDNY to the Rescue!(dij+反向建图+输出路径)
题目链接:poj1122 FDNY to the Rescue! 题意:给出矩阵,矩阵中每个元素tij表示从第i个交叉路口到第j个交叉路口所需时间,若tij为-1则表示两交叉路口之间没有直接路径,再给 ...
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口 ...
- 你需要知道的三个 CSS3技巧(转)
1. 在CSS中用attr()显示HTML属性值 attr()功能早在CSS 2.1标准中就已经出现,但现在才开始普遍流行.它提供了一个巧妙的方法在CSS中使用HTML标签上的属性,在很多情况下都能帮 ...
- 转载python2进制打包相关
Python模块——struct(字节流,组包拆包实现) http://www.linuxidc.com/Linux/2014-02/97158.htm [日期:2014-02-24] 来源:Linu ...
- BZOJ1962 模型王子
戳这里 /************************************************************** Problem: 1962 User: rausen Langu ...
- [转载]WCF实现双工通信
双工(Duplex)模式的消息交换方式体现在消息交换过程中,参与的双方均可以向对方发送消息.基于双工MEP消息交换可以看成是多个基本模式下(比如请求-回复模式和单项模式)消息交换的组合.双工MEP又具 ...