首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
git
phpstorm
terminal
emacs
github
alias
eclipse
visual-studio-code
visual
markdown
sublime-text
vim
svn
ide
pycharm
编辑器
sublimetext
visual-studio
diff
macos
notepad++
intellij-idea
webstorm
windows
protocols
clone
当前位置:
开发笔记
>
开发工具
> 正文
classpath详解
作者:手机用户2602917255 | 来源:互联网 | 2017-08-13 18:34
classpath详解--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
设置类路径
结构
可通过对 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:javaMyClassesutilitymyapp,则应该将类路径设置成包含 C:javaMyClasses。
要运行该应用程序,可使用下述 JVM 命令:
C:> java -classpath C:javaMyClasses utility.myapp.Cool
当该应用程序运行时,JVM 使用类路径设置查找在 utility.myapp 包中定义的任何其他类。
注意:应在命令中指定完整包名。例如,设置类路径包含 C:javaMyClassesutility 并使用命令 java myapp.Cool 是不可能的,因为这找不到该类。
(您可能想知道用什么定义类的包名。答案是:包名是类的一部分,并且不能修改,除非重新编译该类。)
注意:包规范机制一个有趣的结果是,属于相同包的多个文件实际上可存在于不同的目录中。对于每个类,包名都是相同的,但是每个文件的路径可从类路径中的不同目录开始。
文件夹和归档文件
当类存储在目录(文件夹)中时,例如 c:javaMyClassesutilitymyapp,则类路径项指向包含包名第一个元素的目录(在这里为 C:javaMyClasses,因为包名是 utility.myapp)。
但是当类存储在归档文件(.zip 或 .jar 文件)中时,类路径项则是该 .zip 或 .jar 文件的路径。例如,要使用位于 .jar 文件中的类库,则命令应该类似下述形式:
java -classpath C:javaMyClassesmyclasses.jar utility.myapp.Cool
多重指定
要在目录 C:javaMyClasses 和 C:javaOtherClasses 中查找类文件,则可将类路径设置为:
java -classpath C:javaMyClasses;C:javaOtherClasses ...
注意两个路径之间用分号分隔。
指定次序
指定多个类路径项的次序是相当重要的。Java 解释器将按照目录在类路径变量中的次序在各个目录中查找类。在上例中,Java 解释器首先在目录 C:javaMyClasses 中查找需要的类。只有当它在该目录中没有找到该类时,解释器才能到 C:javaOtherClasses 目录中查找。
windows
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
windows
Win11 22563右键单击Windows图标还原方法
有小伙伴安装了Win1122563,发现出现了右键单击任务栏中的Windows图标或Windows键+X将导致explorerexe崩溃,而且一直出现循环启动,这要怎么解 ...
[详细]
蜡笔小新 2024-12-23 16:59:24
windows
C#字符串处理如何从字符串中获取路径和args - C# string handling how get path and args from a string
Ihaveastringwithquotesaroundthepathasfollows:我在路径周围有一个带引号的字符串,如下所示:C:\ProgramFiles(x ...
[详细]
蜡笔小新 2024-12-23 16:21:52
windows
Python第三方库安装的多种途径及注意事项
本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ...
[详细]
蜡笔小新 2024-12-23 13:47:08
windows
磁盘健康检查与维护
在计算机系统运行过程中,硬件或电源故障可能会导致文件系统出现异常。为确保数据完整性和系统稳定性,定期进行磁盘健康检查至关重要。本文将详细介绍如何使用fsck和badblocks工具来检测和修复文件系统及硬盘扇区的潜在问题。 ...
[详细]
蜡笔小新 2024-12-23 13:17:57
windows
C#中SQL Server与Access批量数据插入性能对比
本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ...
[详细]
蜡笔小新 2024-12-23 13:03:32
windows
理解反向投影技术及其应用
反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ...
[详细]
蜡笔小新 2024-12-23 12:24:22
windows
递推算法与大数处理
本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ...
[详细]
蜡笔小新 2024-12-23 12:18:55
windows
解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ...
[详细]
蜡笔小新 2024-12-23 11:58:00
windows
如何将本地Docker镜像推送到阿里云容器镜像服务
本文详细介绍将本地Docker镜像上传至阿里云容器镜像服务的步骤,包括登录、查看镜像列表、推送镜像以及确认上传结果。通过本文,您将掌握如何高效地管理Docker镜像并将其存储在阿里云的镜像仓库中。 ...
[详细]
蜡笔小新 2024-12-23 11:55:55
windows
二叉查找树(3)查找值最小的节点
查找最小值的操作是很简单的,只需要从根节点递归的遍历到左子树节点即可。当遍历到节点的左孩子为NULL时,则这个节点就是树的最小值。上面的树中,从根节点20开始,递归遍历左子 ...
[详细]
蜡笔小新 2024-12-23 11:47:29
windows
Windows 10 系统映像备份的详细步骤
本文将详细介绍如何在 Windows 10 中创建完整的系统映像备份,确保您的数据安全并提供详细的恢复指南。 ...
[详细]
蜡笔小新 2024-12-23 11:26:18
windows
STM32Cube定时器延时不准的潜在原因及解决方案
在使用STM32Cube进行定时器配置时,有时会遇到延时不准的问题。本文探讨了可能导致延时不准确的原因,并提供了解决方法和预防措施。 ...
[详细]
蜡笔小新 2024-12-23 11:17:06
windows
阿里云ecs怎么配置php环境,阿里云ecs配置选择
阿里云ecs怎么配置php环境,阿里云ecs配置选择 ...
[详细]
蜡笔小新 2024-12-23 11:12:07
windows
深入理解Lucene搜索机制
本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ...
[详细]
蜡笔小新 2024-12-23 11:06:10
windows
Node.js 进程异常时自动发送邮件通知
在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ...
[详细]
蜡笔小新 2024-12-23 08:56:34
手机用户2602917255
这个家伙很懒,什么也没留下!
Tags | 热门标签
git
phpstorm
terminal
emacs
github
alias
eclipse
visual-studio-code
visual
markdown
sublime-text
vim
svn
ide
pycharm
编辑器
sublimetext
visual-studio
diff
macos
notepad++
intellij-idea
webstorm
windows
protocols
clone
RankList | 热门文章
1
mysql导入psc文件(navicat导入psc文件)
2
navicat生成er图_实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题
3
vue回车自动登录
4
shiro功能模块
5
【图像边缘检测】基于matlab GUI Sobel+Prewitt+Robert算子图像边缘检测【含Matlab源码 203期】
6
Windows2003安装IIS后,ASPX无法运行。(急!)
7
jenkins用户手册15进程内脚本认证
8
错题整理
9
《寄永乐殷尧藩明府》翻译 原文赏析诗人唐雍陶
10
原生js封装元素运动函数
11
【送书福利】图论算法:如何找到最适合自己的另一半 ?
12
《癸卯岁十二月中作与从弟敬远》翻译 原文赏析诗人魏晋陶渊明
13
SOA架构理解
14
C#:OleDbDataAdapter
15
Nginx 配置继承模型
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有