设置类路径

来源:互联网 发布:淘宝开店步骤教程视频 编辑:程序博客网 时间:2024/05/29 14:34
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>结构可通过对 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:/...。这样,在偶然切换到不同驱动器时仍可找到类(例如,如果路径项以 /... 开头,并且当前位于驱动器 D: 上,则所需的类将在 D: 而不是 C: 驱动器上找)。 清除 CLASSPATH如果 CLASSPATH 环境变量被设置成不正确的值,或启动文件或脚本程序设置了不正确路径,则可通过使用下列命令清除 CLASSPATH: C:> set CLASSPATH=该命令仅清除当前会话的 CLASSPATH。要确保在以后的会话中具有正确的 CLASSPATH 设置,则应该删除或修改启动设置。 更改启动设置如果在系统启动时设置 CLASSPATH 变量,则查找它的位置取决于所使用的操作系统: 操作系统 方法 Windows 98 和 Windows 95 检查 autoexec.bat 文件中的 set 命令。 Windows NT 启动“控制面板”,选择“系统”,单击“环境”选项卡,并在“用户变量”部分中,检查 CLASSPATH 变量。 理解类路径和包名Java 类被组织成包,而这些包被映射到文件系统中的目录。但是与文件系统不同的是,无论何时指定包名,都应指定完整包名 -- 永远不要仅指定它的一部分。例如,java.awt.Button 的包名总是应指定为 java.awt。 例如,假定想要 Java 运行环境在包 utility.myapp 中查找名为 Cool.class 的类。如果该目录的路径为 C:/java/MyClasses/utility/myapp,则应该将类路径设置成包含 C:/java/MyClasses。 要运行该应用程序,可使用下述 JVM 命令: C:> java -classpath C:/java/MyClasses utility.myapp.Cool当该应用程序运行时,JVM 使用类路径设置查找在 utility.myapp 包中定义的任何其他类。 注意:应在命令中指定完整包名。例如,设置类路径包含 C:/java/MyClasses/utility 并使用命令 java myapp.Cool 是不可能的,因为这找不到该类。 (您可能想知道用什么定义类的包名。答案是:包名是类的一部分,并且不能修改,除非重新编译该类。) 注意:包规范机制一个有趣的结果是,属于相同包的多个文件实际上可存在于不同的目录中。对于每个类,包名都是相同的,但是每个文件的路径可从类路径中的不同目录开始。文件夹和归档文件当类存储在目录(文件夹)中时,例如 c:/java/MyClasses/utility/myapp,则类路径项指向包含包名第一个元素的目录(在这里为 C:/java/MyClasses,因为包名是 utility.myapp)。 但是当类存储在归档文件(.zip 或 .jar 文件)中时,类路径项则是该 .zip 或 .jar 文件的路径。例如,要使用位于 .jar 文件中的类库,则命令应该类似下述形式: java -classpath C:/java/MyClasses/myclasses.jar utility.myapp.Cool多重指定要在目录 C:/java/MyClasses 和 C:/java/OtherClasses 中查找类文件,则可将类路径设置为: java -classpath C:/java/MyClasses;C:/java/OtherClasses ...注意两个路径之间用分号分隔。 指定次序指定多个类路径项的次序是相当重要的。Java 解释器将按照目录在类路径变量中的次序在各个目录中查找类。在上例中,Java 解释器首先在目录 C:/java/MyClasses 中查找需要的类。只有当它在该目录中没有找到该类时,解释器才能到 C:/java/OtherClasses 目录中查找。
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 悍匪之王全文阅读 大明悍卒 悍卒 大唐悍卒 大秦悍卒 大秦之悍卒 大唐悍卒 染血的羽毛 悍夫 neleta悍夫 悍夫txt下载 悍夫byneleta 悍夫邵云安王石井在线 悍夫by neleta 悍夫邵云安免费阅读 农医悍女 农家悍女 末世悍女来种田 农门悍女 妖娆农家悍女 空间悍女种田吧王爷 农门悍女带着空间来种田 悍女茶娘 悍女好当家 贫家悍女 农门悍女沙漠一粒尘 悍女当家 空间骠悍农女当家 将门娇女之冷王悍妃 农家悍女抢个将军来种田 农门悍女山里汉子宠上天 孤女悍妃 末世悍女来种田txt 悍女种田 悍女 权门悍妻 全职悍妻 农家悍妻 家有悍妻 悍妻1960 悍妻休夫 悍妻