配置JAVA环境变量中CLASSPATH变量的作用

【Java】classpath的理解及其使用方式 笔者之前对于classpath都没有什么深入的研究,之前的项目打包jar包都是按照网上的教程自己照着葫芦画瓢。但是因为最近碰到一些关于这方面的知识,因此索性觉得要好好补充一下这方面的知识。下面的文章主要是翻译自oralce官网关于设置classpath的说明Setting the class path,并对其中一些地方进行了部分的补充说明,方便读者理解。概要classpath是Java运行时环境搜索 阅读详情
AI摘要

本文通过实例演示了JAVA环境变量CLASSPATH的作用。未配置时,java命令会在当前目录查找class文件;配置后,则按CLASSPATH指定路径查找。通过移动HelloWorld.class文件验证了这一结论。

在了解CLASSPATH变量之前,我们要先设置JAVA_HOME和path这两个环境变量,让JAVA环境可以成功地运行起来,然后,再开始我们的想法。

图1

这里写图片描述

首先,我们在E盘下的test目录下准备两个目录,分别叫HelloWorld和ClassPath,在HelloWorld目录下编写一个JAVA源文件——HelloWorld.java,而ClassPath目录下为空。

然后在此目录下分别用javac命令编译,java命令运行,运行之后,我们发现一切正常,在没有配置CLASSPATH环境变量时,程序成功的运行了。

图3

然后,我们将CLASSPATH环境变量配置成E盘下ClassPath目录的路径,此时ClassPath目录下仍为空。

这里写图片描述

我们再次回到HelloWorld目录下,继续使用java命令运行之前的程序。我们发现,程序不能运行了,明明当前目录下有HelloWorld.class文件,但是,程序却不能运行。

这里写图片描述

此时,我们将HelloWorld目录下的HelloWorld.class文件移动到ClassPath目录下。

图5

这里写图片描述

然后在回到HelloWorld目录下继续运行HelloWorld程序,此时,在HelloWorld目录是没有HelloWorld.class文件的。但是,我们却发现我们的程序居然运行成功了。

图6.1

实际上,我们在任何目录下运行HelloWorld程序,如:C盘根目录下,都是可以运行成功的。因为ClassPath目录下有HelloWorld.class。

图6.2

好了,答案已经呼之欲出了。

结论1:在没有配置CLASSPATH环境变量时,java命令在找class文件时是默认在当前目录下寻找的。

结论2:配置过CLASSPATH环境后,java命令是按照CLASSPATH变量中的路径来的寻找class文件的,这就是为什么CLASSPATH变量中配置没有当前目录时,即使当前目录中有class文件,java命令仍然不能正常运行的原因。

在百度中正常的CLASSPATH环境变量的值

图7

【项目实战】Windows系统中环境变量(PATH、CLASSPATH)入门介绍 Windows系统中存在两种环境变量:用户变量和系统变量。 阅读详情

相关推荐

如何正确设置Java环境变量classpath

在Java编程中,classpath是一个非常重要的环境变量,它指定了Java虚拟机(JVM)在运行时查找类文件的路径。在设置classpath之前,首先需要确定您的类文件所在的位置。通常,Java类文件位于所谓的"类路径"上,这是一个包含类文件的目录或JAR文件的集合。上述命令将把"/path/to/classes"添加到classpath中,以便JVM可以找到"MyApp"类的定义。在运行Java程序时,可以使用命令行参数"-classpath"或简写的"-cp"来指定classpath。

PixelCoder的博客 5062

classpath

classpath初步理解

SYWL的博客 6864

【3D目标检测】激光雷达和相机联合标定(一)——ROS同步解包

激光雷达和相机联合标定(一)——ROS同步解包

qq_44703886的博客 4235

path、classpath环境变量配置

1、什么是环境变量?   百度百科:一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。   个人理解:环境变量有许多种,我们需要了解的path、classpath就是关于路径的环境变量,我们知道,系统要运行一个程序首先要找到程序所在的路径进而找到程序完成对程序的调用。但是当我们要求系统运行一个程序却没有告诉系统所要运行程序所在的完整路径时,系统就会默认在当前目录下以及环境变量path提供的路径中去寻找,如果都找不到就报...

沨沙的博客 8280

202505系分论文《论软件系统测试方法及应用》

本文以软件测试方法为切入点,重点论述分层协作、智能赋能、全流程三个维度下传统测试与自动化测试的融合应用。

pccai的博客 1693

MTK Tunning ISP 模块面试总结

ISP面试问答

m0_72053187的博客 4539

CLASSPATH详解

一.CLASSPATH是什么?它的作用是什么?   它是javac编译器的一个环境变量。它的作用与import、package关键字有关。   当你写下improt java.util.* 时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置

LCDZhao的艺术世界 2222

打造你自己的小程序容器 —— 一套能装得下整个未来的跨端技术!

摘要: 本文介绍了一种基于Capacitor框架开发的轻量级“小程序容器”解决方案——LapDrop。通过模拟微信小程序的运行逻辑(动态加载、原生能力调用、沙盒环境),LapDrop允许开发者自主构建跨平台(iOS/Android/Web)的小程序生态。其核心利用Capacitor的插件桥接机制,实现JS与原生功能的无缝调用,并支持浏览器调试与原生环境一致化。优势包括插件化架构、状态隔离、热更新及开放权限控制,适用于企业级模块化应用或开发者工具。未来计划扩展生命周期管理、远程加载等功能,目标成为开源的小程序

CangYuChenAi的博客 976

java环境变量作用_classpath、path、JAVA_HOME的作用及JAVA环境变量配置

CLASSPATH是什么?它的作用是什么?它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLA...

weixin_36158990的博客 219

DANN实战:用Python手把手教你实现对抗迁移学习(附完整代码)

本文通过Python实战教程,手把手教你实现DANN对抗迁移学习模型,以解决领域偏移问题。文章详细解析了领域对抗神经网络的核心机制,包括梯度反转层和领域判别器的构建,并提供了从数据准备、模型搭建到训练评估的完整代码,帮助开发者快速掌握这一强大的无监督领域自适应技术。

net55的博客 317

《备考系统分析师》 - 专栏介绍和目录

本专栏提供软考高级系统分析师全套备考资料,包含四大核心内容:1.详细考点梳理(覆盖基础知识、关键技术、案例实践三大模块16个章节);2.历年真题及解析(2009-2022年所有真题含综合知识、案例分析和论文);3.100+篇高质量论文范文;4.预测模拟题。早鸟价仅需9.9元,可节约80%资料搜集时间,帮助考生高效备考、顺利通过考试。专栏持续更新,有问题可随时联系作者。

数据知道的博客 1万+

classpath、path、JAVA_HOME的作用及JAVA环境变量配置

CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置C...

꧁༺舒月༻꧂的博客 448

【CANoe】CAPL_ECU上电后首帧报文发出时间检测

【CANoe】CAPL_ECU上电后首帧报文发出时间检测,通过CANoe I/O口检测电压实现

星Yeah 的博客 2509

java环境变量 classpath_classpath、path、JAVA_HOME的作用及JAVA环境变量配置

CLASSPATH是什么?它的作用是什么?它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLA...

weixin_35910073的博客 101

【教程4>第6章>第15节】 基于I+jQ复数信号的LS信道估计和均衡实现1——matlab仿真分析,QPSK为例

在基于QPSK调制的通信系统中,LS信道估计和均衡是用于补偿信道失真、提高信号传输质量的重要技术。以下将详细介绍基于I+jQ复数信号的 LS 信道估计和均衡的实现原理与过程。可以看到,通过线性插值之后,QPSK信号的星座图可以模糊的看到四个星座点(图2),通过非线性插值之后,可以清晰的看到QPSK的四个星座点(图3)。可以看到,信道均衡显著提高了通信系统的可靠性和有效性。

FPGA/MATLAB学习教程/源码/项目合作开发 657

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java环境变量 classpath_配置JAVA环境变量中CLASSPATH变量的作用

在了解CLASSPATH变量之前,我们要先设置JAVA_HOME和path这两个环境变量,让JAVA环境可以成功地运行起来,然后,再开始我们的想法。首先,我们在E盘下的test目录下准备两个目录,分别叫HelloWorld和ClassPath,在HelloWorld目录下编写一个JAVA源文件——HelloWorld.java,而ClassPath目录下为空。然后在此目录下分别用javac命令编译...

weixin_34329524的博客 304

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

classpath和path详解配置原因 classpath、path、JAVA_HOME的作用及JAVA环境变量配置

1)classpath即是类路径的意思,后缀为.java的源程序编译成功之后会生成后缀为.class的类文件。classpath与import关键字是相关的,程序编译的时候,遇到import关键字,编译器就会到classpath参数对应的路径中去寻找对应的.class类文件,将其倒入。classpath的一个示例如下: classpath=“.;/usr/local/jdk/lib;/hom

zcw4237256的博客 1219

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java+classpath的理解_Java的JAVA_HOME、Path、CLASSPATH环境变量小结,可以借助这三个的配置去理解Oracle中的那几个环境变量的配置作用...

问题:在哪里都能执行java命令,是和JAVA_HOME变量有关系呢还是path中指定的那个java路径呢??刚学Java的时候,很多jdk配置教程都要求设置JAVA_HOME、Path、CLASSPATH3个变量。而Java官网有这么一句话:jdk1.5之后的版本在安装时不用设置CLASSPATH变量。今天我就以jdk1.5为例,总结下三者的区别。Path当我们安装完jdk之后,打开cmd(在非...

ぃ妖气ぅ的博客 116

classpath、path、JAVA_HOME的作用及JAVA环境变量配置 (转)

CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?...

aiduliaoac908914的专栏 191

安装java时,配置环境变量classpath的作用

    想必大家在安装javaSE或其它版本时会注意到,在配置环境变量path之后,还需要新建一个名为CLASSPATH,变量值设为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar   它有什么用呢?   原来CLASSPATH的目的是定义类的加载路径,通知JVM去哪里可以找到将要执行的Java...

weixin_34419321的博客 282
上一篇: Linux 的学习方法
下一篇: HTML知识点(一)
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值